我是JSF使用的新手,但在某些情况下不知道如何正确使用JSF。
问题: 在不同的jsf项目中重用相同的视图
我有三个完全分开的项目(叫他们A
, B
和C
更具体)有一个网页提供有关用户组的信息,存储在数据库中。项目A
中的用户称为player,项目B
中的用户称为partner,项目C
中的用户称为visitor。所有这些项目的网页都是相同的,除了标题(玩家,合作伙伴和访客)。所以,现在我有很多代码副本(三个几乎相同的facelet
)在那些项目中。
将facelets放在jar文件中并使用ui:include
是否合适:
项目A
<ui:inlude src="shared/xhtmlpage.xhtml" >
<ui:param name="title" value="Players" />
</ui:inlude>
项目B
<ui:inlude src="shared/xhtmlpage.xhtml">
<ui:param name="title" value="Players" />
</ui:inlude>
等等…
或者使用复合组件会更好,我的意思是,将网页封装在复合组件中,称为myns:userInfo
,带有userTitle
属性,所以我们可以这样使用它:
<myns:userInfo userTitle="Players" />
您可能希望将该视图保存在一个特定的文件中,然后将其相应地传输到您的新项目中。