2014-03-24 46 views
0

我有一个主要的HTML页面,其中包括detail.xhtmlduo.xhtmlJSF包含和重复的HTML ID

现在duo.xhtml还包括detail.xhtml,从而导致这当然它不工作重复的ID。我能做些什么来解决这个问题?我不想管理冗余代码。

主要:

<ui:composition ...> 
    <ui:define name="center"> 
    <ui:insert name="insertDuo"> 
     <ui:include src="/includes/duo.xhtml" /> 
    </ui:insert> 
... 
<p:dialog header="x" widgetVar="detDialog" id="dlg" modal="true" appendTo="@(body)"> 
    <ui:insert name="insertDetail"> 
    <ui:include src="/includes/detail.xhtml" /> 
    </ui:insert> 

朵:

<ui:composition> 
    <p:dialog header="y" widgetVar="newDuoDialog" id="newDuoDlg" modal="true" > 
     <p:layout id="layout"> 

      <p:layoutUnit position="west"> 
       <ui:insert name="insertDetailStmt"> 
        <h:form id="stmtDetailForm"> 
         <ui:include src="/includes/detail.xhtml" /> 
        </h:form> 
       </ui:insert> 
      </p:layoutUnit> 

详情:

<p:accordionPanel id="accordion"> 

参考组件:

<p:commandButton value="z" update=":accordion:duoDlgForm2:pickList"/> 
+0

以及如何将我的'单曲例如参考''?我认为你的第二句话缺乏细节。我不明白你建议我做什么 – dasLort

+0

我很不赞同@DarkFalcon,因为他看起来还没有用过JSF。无论如何,看起来你并没有在容器中添加ID,例如'','';或者你在两个页面中都有效地使用重复的ID,所以只需更改它们即可。如果你提供一个代码示例会更好。 –

+1

@LuiggiMendoza:对,其实我没看到标签。我看到了xhtml并假定了HTML ID。我很抱歉。 –

回答

3

感谢BalusC,我解决了这个问题。只需使用

<f:subview id="fromMain"> 
    <ui:include src="/includes/regelDetail.xhtml" /> 
</f:subview> 

,并从主时提到,该元素的名称是fromMain:手风琴