[英]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.