不工作命令按钮面临重定向

时间:2015-10-07 19:36:24

标签: jsf jstl

切换到管理面板时,我将请求属性设置为显示后退按钮:

public void adminPanel() {
    Tools.getRequestContext().setAttribute("show_back_button", true);
}

现在在JSP页面中,我检查这个属性是否存在:

<c:if test="${show_back_button eq true}">
    <h:commandButton action="index?faces-redirect=true"
        immediate="true"
        type="submit"
        value="#{msg.back}"
        styleClass="btn btn-default admin-button" />
</c:if>

首次进入管理面板后,我看到了后退按钮。但是当点击时,没有触发重定向到index.xhtml,但是admin.xhtml正在刷新。

当我评论并且一切正常时,后退按钮始终可见,但正在工作。

所以我的问题是如果未设置show_back_button属性会发生什么,我会用EL测试它? JSF阶段已损坏?也许别的什么?我做错了什么?

1 个答案:

答案 0 :(得分:0)

看起来我找到了解决方案。 加入

<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>

简单地解决问题。 ViewState和tag的东西是关键。

感谢http://balusc.omnifaces.org/2011/09/communication-in-jsf-20.html#ViewScopedFailsInTagHandlers帖子。 我必须更深入地研究这个问题......