【发布时间】:2026-02-04 01:15:01
【问题描述】:
是否可以多次重复使用附加到不同对象的一个页面?
我有一个页面,您可以输入个人信息(姓名、地址、社交号码……)连接到一个 bean:前景。 在某些情况下,我必须收集链接的个人信息。信用评分示例(个人和担保人)。
所以我想使用 2 个包含。但是如何确保 include1 包含 person1 的信息,而 include2 包含 person2 的信息?
<rich:tabPanel id="creditScoreTab" switchType="client" >
<rich:tab id="mainContractor" >
<ui:include src="includes/prospect.xhtml" />
</rich:tab>
<rich:tab id="guarantor">
<ui:include src="includes/prospect.xhtml" />
</rich:tab>
</rich:tabPanel>
和面孔上下文
<managed-bean>
<managed-bean-name>prospect</managed-bean-name>
<managed-bean-class>be.foo.Prospect</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
我发现了 2 种可能的解决方法: - 复制页面并在 faces-config 中定义 2 个 bean(指向同一个 java 类) - 不要使用 tabpanel 和 include,而是输入 person1 info ,然后保存并加载 person2 info 并保存 person2。
Workaround1 的缺点是它两次维护相同的代码。 Workaround2 的缺点是它不是那么“酷”(从用户体验的角度来看)
【问题讨论】: