JSF如何使用Command Button重定向到运行时确定的另一个页面?

时间:2014-10-04 16:56:42

标签: jsf jsf-2 primefaces

我想调用Bean的方法,然后将用户重定向到另一个页面,该页面在调用此方法并在某些运行时计算中派生时在运行时确定: 例如:

在.xhtml上:

<p:selectBooleanCheckbox value="#{userAuth.parameterA}"/>
<p:commandButton value="Save Changes" 
                 id="withIcon" 
                 type="submit"
                 actionListener="#{userAuth.saveChanges()}" 
                 icon="ui-icon-disk" />

关于bean:

public String saveGhanges(){
    this.entity.save(); //dummy code)
    if (this.parameterA == true) return "ATrue.xhtml";
    if (this.parameterA == false) return "AFalse.xhtml";
}

2 个答案:

答案 0 :(得分:4)

试试这个:

<p:selectBooleanCheckbox value="#{userAuth.parameterA}"/>
<p:commandButton value="Save Changes" 
                 id="withIcon" 
                 type="submit"
                 action="#{userAuth.saveChanges()}" 
                 icon="ui-icon-disk" ajax="false"/>

actionListener应该用于void方法。我希望它有所帮助。

答案 1 :(得分:2)

就像@pamps说的那样,尝试用actionListener

中的action替换commandButton

actionListenersvoid个返回类型,而actions可能有voidString作为返回类型!

希望这有帮助!