p:未执行commandButton事件或模型未更新

时间:2016-03-29 20:45:38

标签: jsf primefaces

我正在尝试使用按钮更新bean的值,就像数据预加载机制一样,然后使用新值更新表单。我已经访问了很多关于此的问题,但这些解决方案在这里没有用。

form.xhtml示例代码

<p:outputLabel for="name" value="Your name" />
                        <p:inputText value="#{person.name}"
                            id="yourname">
                        </p:inputText>

还有其他类似的字段,要求用户填写它们以便用新数据填充辅助bean,而不是在加载页面时预加载的默认值。所有内容都分组在一个h:panelGrid容器中,其id =“grid”。一切都在h:form中。

有一个按钮以某种方式修改了支持bean属性并尝试重新加载表单,以便输入字段具有这些值。

<p:commandButton id="preload" value="Preload Example Data"
                    actionListener="#{controller.preload}">
                </p:commandButton>

bean及其方法如下。

public class Controller implements Serializable {

private static final long serialVersionUID = 5754692548431690216L;

@ManagedProperty(value = "#{person}")
private Person person;

public void preload(ActionEvent event) {

    this.person.setName(...);

    (...)

    System.out.print("[PRELOAD COMPLETED]");        // debug purposes
    RequestContext.getCurrentInstance().update("grid");
}

0 个答案:

没有答案