JSF @ViewScoped托管bean在导航时未重建

时间:2017-01-26 19:39:08

标签: spring jsf jsf-2 view-scope

JSF 2.1 + Primefaces 5.3

我有一个动态的Primefaces MenuBar。 outcome="#{menuitem.link}"是一个&page 39html'

<p:menubar>
    <c:forEach items="#{USER_MENU_ITEMS}" var="menuitem" varStatus="status">
        <p:menuitem value="#{menuitem.name}" outcome="#{menuitem.link}"/>
        <c:if test="${!status.last}"><p:separator /></c:if>
    </c:forEach>
</p:menubar>

所有托管豆都是@ViewScoped。我面临的问题是,当我点击菜单项(我之前已经工作过)时,它会导航我到相应的页面,其中包含上一次访问的所有数据。我试图追加?faces-redirect=true,但这也没有用。

header.xhtml

<ui:composition ...>
    <h:form id="headerform">
        <p:menubar>
            <c:forEach items="#{USER_MENU_ITEMS}" var="menuitem" varStatus="status">
                <p:menuitem value="#{menuitem.name}" outcome="#{menuitem.link}"/>
                <c:if test="${!status.last}"><p:separator /></c:if>
            </c:forEach>
        </p:menubar>
    </h:form>
</ui:composition>

pageB.xhtml

<html ...>
    <ui:include src="./header.xhtml" />
    <h:form id="pageBForm">
        -- Uses pageBBean (@ViewScoped) properties and methods
    </h:form>
</html>

pageA.xhtml

<html ...>
    <ui:include src="./header.xhtml" />
    <h:form id="pageAForm">
        -- Uses pageABean (@ViewScoped) properties and methods
    </h:form>
</html>

0 个答案:

没有答案