簡體   English   中英

更新ui:通過主模板(JSF和Primefaces)定義的表單內容

[英]Updating ui:defined form content from Master template (JSF & Primefaces)

我的網絡應用程序遇到了一些麻煩,本質上,我一直收到警告消息:

信息:在視圖中找不到標識符為“ formName”的組件。

我知道為什么會這樣,但是我只需要確定它們是否是一種解決方案/更好的解決方案。

基本上,我有一個主模板文件,其中包含許多<p:dialog>組件,這些組件具有各種CRUD功能。 當用戶與這些組件進行交互時,我使用內置的primefaces“更新”功能對<ui:defined>頁面中的各種表單/組件進行jaja更新。 但是,由於JSF Web應用程序的布局(即Master模板和ui:defined網頁)以及我已經在Master模板文件中定義了這些組件的事實,這意味着可更新的表單/組件並不一定在當前視圖中並在上方拋出警告消息。

例如:

如果我有主模板文件:master.xhtml,其組件名為< p:dialog id="componentA" /> 然后我有一個帶有<h:form id=page1Form/> ,同樣,我也有一個帶有<h:form id=page2Form/> ,它們都包含由sessionscoped支持的bean提供的信息。如果使用componentA進行CRUD操作,是否是確保更新這些表格的最佳方法? 目前,我只是使用< p:dialog id="componentA" update="page1Form, page2Form" />但是由於視圖中只有page1或page2,因此Tomcat吐出了以上消息。 因此,可以根據我所在的頁面動態指定要更新的表單/組件,還是我必須在每個<ui:define>頁面上都指定componentA(這會重復很多html /代碼,因此不太容易管理) ),還是有一種方法可以更新當前視圖中的所有表單/組件? 還是我做的正確,我應該在web.xml中關閉開發模式以停止消息?

干杯

盟國

只是為了確認,是否有人偶然發現了這個線程。 通過使用<ui:param name="paramName" value:"a value"/>值,我設法解決了上述問題。

本質上,在主模板文件中指定組件,就像

<p:commandButton value="Submit" action="#{someBean.doSomeStuff()}"
update="#{paramName}" />

然后在<ui:composition>頁面中,只需聲明參數名稱及其值:

<ui:param name="paramName" value="someForm someOtherForm"/>

求職!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM