Jsf 如何在p:ajax onsuccess中更新inputText
在我的示例中,beanJsf 如何在p:ajax onsuccess中更新inputText,jsf,primefaces,Jsf,Primefaces,在我的示例中,beanpaisMB打开一个带有数据表的对话框,供用户搜索对象。在beanportoMB中,我有一个crud的控制器,它使用在paisMB中搜索的对象 下面的代码可以工作,但不会更新inputText,的update在成功之前执行如何更新输入文本? <p:inputText id="pais" label="País" value="#{paisMB.paisSelecionado.nome}" required="true" readonly="true" /> &l
paisMB
打开一个带有数据表的对话框,供用户搜索对象。在beanportoMB
中,我有一个crud的控制器,它使用在paisMB
中搜索的对象
下面的代码可以工作,但不会更新inputText,
的update
在成功之前执行如何更新输入文本?
<p:inputText id="pais" label="País" value="#{paisMB.paisSelecionado.nome}" required="true" readonly="true" />
<p:commandButton icon="fa fa-search" actionListener="#{paisMB.openPaisDialog}" >
<p:ajax event="dialogReturn" update="panel"
listener="#{paisMB.onPaisChosenFromDialog}"
onerror="#{portoMB.portoSelecionado.setPais(null)}"
onsuccess="#{portoMB.portoSelecionado.setPais(paisMB.paisSelecionado)}" />
</p:commandButton>
向我展示了一个解决问题的方法
以下是修改后的代码:
<p:commandButton icon="fa fa-search" actionListener="#{paisMB.openPaisDialog}" >
<p:ajax event="dialogReturn" listener="#{paisMB.onPaisChosenFromDialog}"
onerror="setPaisNull()" onsuccess="setPaisObj()" />
<p:remoteCommand name="setPaisObj" update="panel" action="#{portoMB.portoSelecionado.setPais(paisMB.paisSelecionado)}" />
<p:remoteCommand name="setPaisNull" update="panel" action="#{portoMB.portoSelecionado.setPais(null)}" />
</p:commandButton>
这是对您的技术问题的重复,但不是对您的具体要求:它在任何情况下都有帮助吗?