Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 更改_Jsf_Primefaces - Fatal编程技术网

Jsf 更改

Jsf 更改,jsf,primefaces,Jsf,Primefaces,我想按一个按钮并更改p:selectOneMenu选定值 如果满足某些条件,则在服务器端编码 <p:selectOneMenu value="#{myObject.id_state}" id="changeid_state" immediate="true" valueChangeListener="#{home.changeState}" onchange="this.form.submit()" widgetVar="wdgId_state"> <f:s

我想按一个按钮并更改p:selectOneMenu选定值 如果满足某些条件,则在服务器端编码

<p:selectOneMenu value="#{myObject.id_state}" id="changeid_state" 
immediate="true" valueChangeListener="#{home.changeState}"  onchange="this.form.submit()" widgetVar="wdgId_state">
        <f:selectItem itemValue="0" itemLabel="Open"/>
        <f:selectItem itemValue="3" itemLabel="Close"/>
</p:selectOneMenu>
问题是,如果我在服务器端更改myObject.id_状态值,当页面重新加载时,它会将旧值取回。 我尝试过在没有运气的情况下按下按钮时禁用wdgId_状态


那么,如何在服务器端用不同的值设置selectOneMenu值呢?

如果您的问题是在重新加载页面时,旧值又回来了,那么您的backbean可能是请求范围,因此,将其更改为查看范围。

如果每次重新加载页面RequestScope时代码都会生成myObject.id\u状态对象,则单击该按钮后将丢失新值。也许您必须将bean的作用域更改为ViewScope甚至SessionScope。不要使用onchange=this.form.submit,而是使用p:ajax