2
我有一個菜單,裏面有一個列表項和一個p:commandLink
。雖然在不同的頁面上使用它,我意識到我在更新表單時遇到問題,其中p:dataTable
和p:columns
在裏面。點擊鏈接後,form2
實際上有一些面板和裏面的表應該更新。現在我的問題:只有大多數的內容在form2
被正確更新,但p:columns
有舊的的值。如果我再次點擊鏈接,則會顯示正確的值。JSF p:commandLink和p:ajax在更新中有不同的行爲
正確調用Bean方法public void selectProject(Project myProject)
並正確處理值。
現在奇怪的事情:如果我添加了p:ajax
一切h:graphicImage
工作正常!
<h:form id="form1">
...
<li>
<p:commandLink update=":form2" actionListener="#{bean.selectProject(p)}">
<h:outputText value="#{p.name}" />
</p:commandLink>
<!-- Code below is for testing only, but works fine! -->
<h:graphicImage value="#{iconBean.icon(12,'clock')}">
<p:ajax event="click" update=":form2" listener="#{bean.selectProject(p)}"/>
</h:graphicImage>
</li>
...
</h:form>
更新這似乎並不可能與p:columns
,簡化的測試案例顯示p:commandLink
預期的行爲。在原始(仍然失敗)設置中,菜單作爲複合組件實現。
是你的表格嵌套?不要在Web開發中嵌套表單,它會導致各種類型的DOM問題,例如您遇到的問題 – kolossus