Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何在p:ajax onsuccess中更新inputText_Jsf_Primefaces - Fatal编程技术网

Jsf 如何在p:ajax onsuccess中更新inputText

Jsf 如何在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

在我的示例中,bean
paisMB
打开一个带有数据表的对话框,供用户搜索对象。在bean
portoMB
中,我有一个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>

这是对您的技术问题的重复,但不是对您的具体要求:它在任何情况下都有帮助吗?