【问题标题】:Change <p:selectOneListbox selected value server side with JSF使用 JSF 更改 <p:selectOneListbox 选定值服务器端
【发布时间】:2015-11-11 12:15:56
【问题描述】:

我想按一个按钮并更改 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_state 值,当页面重新加载时,它会取回其旧值。 我尝试在没有运气按下按钮时禁用 wdgId_state。

那么,我该怎么做才能在服务器端将 selectOneMenu 值设置为不同的值?

【问题讨论】:

  • 如果您的代码在每次重新加载页面 (RequestScope) 时都会生成 myObject.id_state 对象,那么您在单击按钮后会丢失新值。也许您必须将 bean 的范围更改为 ViewScope 甚至 SessionScope。
  • 不要使用onchange="this.form.submit()",而是使用p:ajax

标签: jsf primefaces


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多