jsf和primefaces更新问题
我有一个JSF页面,有两个表单(下面是伪代码) 第一个表单是针对用户的,有文本字段和电话号码表,以及用于 添加新的电话号码 第二种形式是p:对话框,显示用于向列表中添加电话号码的形式 我的问题是在p:对话框关闭后,我希望列表没有得到更新。如果我将p:dialog标记放在第一个表单中,列表确实会更新,但是有两个单独的表单,因为我需要在单独的操作中验证它们的内容 我的问题的简短版本:p:对话框有一个attr update=“phonesPanel”,但phonePanel的形式不同;我如何执行类似update=“personForm.phonesPanel”这样的操作,以便以不同的形式更新列表jsf和primefaces更新问题,jsf,primefaces,Jsf,Primefaces,我有一个JSF页面,有两个表单(下面是伪代码) 第一个表单是针对用户的,有文本字段和电话号码表,以及用于 添加新的电话号码 第二种形式是p:对话框,显示用于向列表中添加电话号码的形式 我的问题是在p:对话框关闭后,我希望列表没有得到更新。如果我将p:dialog标记放在第一个表单中,列表确实会更新,但是有两个单独的表单,因为我需要在单独的操作中验证它们的内容 我的问题的简短版本:p:对话框有一个attr update=“phonesPanel”,但phonePanel的形式不同;我如何执行类似u
<h:form id="personForm">
<p:messages />
<h:inputText label="Full Name" value="... />
<p:commandLink value="Add Phone Number" onclick="dlg.show();" />
<h:panelGrid id="phonesPanel" columns="1" style="width:100%" >
<h:dataTable id="phonesTable">
// ...
</h:dataTable>
</h:panelGrid>
</h:form>
<h:form>
<p:dialog id="dialog" modal="true" widgetVar="dlg">
<p:messages />
<h:inputText label="Phone Number" value="... />
<p:commandButton value="Add Phone Number" update="phonesPanel"
actionListener="#{handler.doAddPhoneNumber}"
oncomplete="handleLoginRequest(xhr, status, args)"/>
</p:dialog>
</h:form>
非常感谢您的帮助
罗伯回答我自己的问题 答案是:update=“personForm:phonesPanel”
谢谢大家 您可以做的另一件事是将“prependId”表单属性设置为“false”: 我怀疑update=“personForm:phonesPanel”在personForm之前没有“:”就可以工作。 这应该是正确的:
update=":personForm:phonesPanel"
update="phonesPanel"
update=":personForm:phonesPanel"