JSF 包含和重复的 HTML ID

标签 jsf include facelets

我有一个 HTML 主页面,其中包括 detail.xhtmlduo.xhtml

现在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"/>

最佳答案

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

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

当从 main 引用时,元素的名称是 fromMain:accordion

关于JSF 包含和重复的 HTML ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22613431/

相关文章:

Eclipse 不渲染 jsf?

jsf - 是否可以使用 p :messages and p:message at the same time?

php - 多少行 PHP 代码对于一个文件来说太多了?

c++ - Include 语句包含自身

JSF 2 <f :selectItems> not recognizing itemLabel and itemValue attributes

java - primefaces p :message outside the components form

asp.net - Web 部署项目无法映射包含虚拟的路径

Eclipse Facelet HTML 验证器 : Cannot apply expression operators to method bindings

java - 是否可以更改 JSF 中的元素 ID 分隔符?

java - Jsf 用旧值更新模型值