1

我正在寻找一种在表单提交后从支持 bean 更改 primefaces 命令按钮的更新属性的方法。我想要实现的是根据支持 bean 方法的结果更新组件 ID。

例如,我正在尝试使用命令按钮更新表单和咆哮消息,现在如果支持 bean 发生了一些错误(不是验证错误),我只需要更新咆哮消息并且表单不应该是更新。

<p:commandButton value="Finish Editing"
        action="#{editBean.finish}" icon="ui-icon-check"
        style="width:200px;margin-left:60px;" update=":studentEditForm   :messageForm:applyMessages" />
4

2 回答 2

4

您可以通过RequestContext#update().

public void finish() {
    // ...

    if (someCondition) {
         RequestContext.getCurrentInstance().update("someClientId");
    } else {
         RequestContext.getCurrentInstance().update("otherClientId");
    }
}             

不要忘记update从命令按钮中删除属性。

于 2013-06-20T12:52:10.710 回答
-1

改变这个

<p:commandButton value="Finish Editing"
        action="#{editBean.finish}" icon="ui-icon-check"
        style="width:200px;margin-left:60px;" update=":studentEditForm   :messageForm:applyMessages" />

<p:commandButton value="Finish Editing"
        action="#{editBean.finish}" icon="ui-icon-check"
        style="width:200px;margin-left:60px;" update="#{editBean.updateString}" />

现在您必须根据需要在 EditBean 类中更新此字符串。

于 2013-06-20T09:12:51.957 回答