Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多次重复使用同一页_Java_Jsf_Xhtml_Include - Fatal编程技术网

Java 多次重复使用同一页

Java 多次重复使用同一页,java,jsf,xhtml,include,Java,Jsf,Xhtml,Include,是否可以多次重复使用附加到不同对象的一个页面 我有一个页面,你可以输入个人信息(姓名,地址,社会号码,…)连接到一个bean:prospect。 在某些情况下,我必须收集相关的个人信息。信用评分示例(个人和担保人) 所以我想使用2个包含。但我如何确保include1为person1保存信息,include2为person2保存信息 <rich:tabPanel id="creditScoreTab" switchType="client" > <rich:tab id="m

是否可以多次重复使用附加到不同对象的一个页面

我有一个页面,你可以输入个人信息(姓名,地址,社会号码,…)连接到一个bean:prospect。 在某些情况下,我必须收集相关的个人信息。信用评分示例(个人和担保人)

所以我想使用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>

和facescontext

<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>

展望
be.foo.Prospect
看法
我发现了两种可能的解决方法: -复制页面并在faces配置中定义2个bean(指向同一个java类) -不要使用tabpanel和include,而是输入person1信息,然后保存并加载person2信息并保存person2

解决方法1的缺点是它两次维护相同的代码。解决方法2消极的一点是它不是那么“酷”(ux视角)

您可以使用它将参数传递给:



在上述示例中,在每个include中,所需的人员将作为
{person}
提供。这些
标记用于防止重复的组件ID错误,因为它们最终位于相同的
UINamingContainer
父级中。

执行此操作时,我得到以下错误:javax.servlet.ServletException:组件ID prospectdetail:creditScoreView:privatePerson已在视图中找到。我怎样才能解决这个问题?privatePerson是在prospect中使用的组件id。xhtml通常,RichFaces选项卡是no
UINamingContainer
组件。尝试在
周围放置具有唯一ID的
<rich:tabPanel id="creditScoreTab" switchType="client" >
  <rich:tab id="mainContractor" >
    <f:subview id="mainContractorView">
      <ui:include src="includes/prospect.xhtml">
        <ui:param name="person" value="#{bean.person1}" />
      </ui:include>
    </f:subview>
  </rich:tab>
  <rich:tab id="guarantor">
    <f:subview id="guarantorView">
      <ui:include src="includes/prospect.xhtml">
        <ui:param name="person" value="#{bean.person2}" />
      </ui:include>
    </f:subview>
  </rich:tab>
</rich:tabPanel>