在 JSF primefaces 应用程序上重用一些 .xhtml 页面
Reuse some .xhtml pages on a JSF primefaces application
我使用 JSF 和 PrimeFaces 开发了一个简单的应用程序,这是我面临的一个问题:
这些托管 bean 具有 Person
属性:
ClientBean
EmployeeBean
我有 person.xhtml
显示一个人的数据。我在 client.xhtml
和 employee.xhtml
上包含了 person.xhtml
。我需要创建两个 person.xhtml
因为我使用的是不同的 bean。我想做的是这样的事情:
<c:set var="person" value="clientBean.person" />
<ui:include src="person.xhtml"/>
<c:set var="person" value="employeeBean.person" />
<ui:include src="person.xhtml"/>
在我的 person.xhtml
中,我可以使用 #{person.name}
、#{person.dateOfBirth}
。
我搜索并在 JSF 中使用 <c:set/>
是错误的。
有人可以帮忙吗?
将其作为 <ui:param>
传递。
<ui:include src="person.xhtml">
<ui:param name="person" value="#{clientBean.person}" />
</ui:include>
<ui:include src="person.xhtml">
<ui:param name="person" value="#{employeeBean.person}" />
</ui:include>
如有必要,将 person.xhtml
注册为标记文件以使其看起来更好,另请参阅 When to use <ui:include>, tag files, composite components and/or custom components?
<my:personForm value="#{clientBean.person}" />
<my:personForm value="#{employeeBean.person}" />
注意重复的组件 ID 错误。另见 Avoiding duplicate ids when reusing facelets compositions in the same naming container。
我使用 JSF 和 PrimeFaces 开发了一个简单的应用程序,这是我面临的一个问题:
这些托管 bean 具有 Person
属性:
ClientBean
EmployeeBean
我有 person.xhtml
显示一个人的数据。我在 client.xhtml
和 employee.xhtml
上包含了 person.xhtml
。我需要创建两个 person.xhtml
因为我使用的是不同的 bean。我想做的是这样的事情:
<c:set var="person" value="clientBean.person" />
<ui:include src="person.xhtml"/>
<c:set var="person" value="employeeBean.person" />
<ui:include src="person.xhtml"/>
在我的 person.xhtml
中,我可以使用 #{person.name}
、#{person.dateOfBirth}
。
我搜索并在 JSF 中使用 <c:set/>
是错误的。
有人可以帮忙吗?
将其作为 <ui:param>
传递。
<ui:include src="person.xhtml">
<ui:param name="person" value="#{clientBean.person}" />
</ui:include>
<ui:include src="person.xhtml">
<ui:param name="person" value="#{employeeBean.person}" />
</ui:include>
如有必要,将 person.xhtml
注册为标记文件以使其看起来更好,另请参阅 When to use <ui:include>, tag files, composite components and/or custom components?
<my:personForm value="#{clientBean.person}" />
<my:personForm value="#{employeeBean.person}" />
注意重复的组件 ID 错误。另见 Avoiding duplicate ids when reusing facelets compositions in the same naming container。