0

我正在从我的 bean 和我的视图向我的 bean 发送值,如果我使用诸如“acitonListener”之类的事件,一切都很好,但现在我想将用户发送到其他页面(使用导航规则,它可以工作完美)当我单击一个按钮时,但在此之前我想在我的 bean 中设置一个值,我该怎么做?

我正在做这样的事情

   <p:commandButton value="Send" id="sendButton" action="#{myBean.myMethod}" 
    update=":form:growTop" >
   </p:commandButton>

在此之前只有一个包含<h:outputText/>我的 bean 值的表,有什么方法可以做到这一点?

谢谢

4

1 回答 1

1
action="#{myBean.myMethod(myParameter)}

上面的方法表达式将发送myParametermyMethod您的支持 bean 中的函数:

public void myMethod(String myParameter) {
    // ...
}

您还可以通过从您的操作方法返回有效的导航结果将用户发送到下一页:

public String myMethod(String myParameter) {
    // ...
    return "myPage?faces-redirect=true";
}

在您的具体情况下,如果有一个支持 bean 值被打印出来:

<h:outputText value=#{myBean.myParameter}/>

以下动作

<p:commandButton value="Send" id="sendButton" action="#{myBean.myMethod(myParameter)} 
    update=":form:growTop" >
</p:commandButton>

将传递myParameter给您的操作方法。

为了获得 primefaces 数据表的预期行为,至少@ViewScoped在表值后面使用支持 bean。

于 2012-10-20T05:53:39.597 回答