我正在使用JSF2 facelets。<ui:composition>在<body>之前還是之後?
我試圖插入一段代碼從一個頁面到另一個使用<ui:composition>
和<ui:insert>
標籤。
我有一個頁面,其中包括來自網頁B.
<h:form id="formIdPageA">
代碼...
<h:form id="formIdPageB">
這個問題似乎是表單ID,因爲我得到錯誤:
System error: Cannot find component with identifier ":formIdPageA:fileListId" in view.
這是從頁面B的一段代碼g ETS插入到頁面A.這裏IDS可以看出:
<tr>
<td colspan="2">
<p:selectOneMenu id="locationId" value = "#{PFMultiFileSelectMgmtBean.selectedLocationId}">
<p:ajax update=":formIdPageA:fileListId" listener="#{PFMultiFileSelectMgmtBean.LocationChangeEvent}"/>
<f:selectItems value="#{PFJobMgmtBean.outputLocationList}"/>
</p:selectOneMenu>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="2">
<p:selectManyCheckbox id="fileListId" value="PFMultiFileSelectMgmtBean.selectedFiles" layout="pageDirection">
<f:selectItems value="#{PFMultiFileSelectMgmtBean.fileNames}" />
</p:selectManyCheckbox>
</td>
</tr>
這就是我如何將它插入頁面答:
<p:dialog id="basicDialog" header="Select Files" widgetVar="dlgMultiFileSelect" modal="true" height="500" width="500" resizable="false">
<ui:insert>
<ui:include src="/pageB.xhtml"/>
</ui:insert>
</p:dialog>
有誰知道是否有可能包括網頁這樣嗎? <ui:composition>
是在主體標籤之前還是在B頁之後?這是好的:
<body>
<f:view>
<h:form id="formIdPageB">
<ui:composition>...
?
好吧,發現:
的問題是,我使用PrimeFaces組件<p:dialog>
並把它放在網頁A外<h:form>
內外<body>
,像這樣:
</h:form>
</f:view>
</body>
<p:dialog...>
<ui:include src="/pageB.xhtml"/>
</p:dialog>
這似乎是錯誤。現在我移動了<p:dialog>
裏面的形式,一切都好。
但是我試了一下,我得到錯誤:'系統錯誤:無法找到帶有標識符的組件:formIdPageA:fileListId「in view.'嗯......任何想法?我如何參考表單組件? – Danijel
你可以嘗試formIdPageA:fileListId刪除:在開始。 –
剛試過,沒有工作。我在其他地方使用':'並且工作,所以我也在這裏使用它。 – Danijel