p:tabMenu 表单提交后activeIndex变为0

p:tabMenu activeIndex becomes 0 after form submit

两个页面都包含 header:

<p:tabMenu activeIndex="#{param.i}">
    <p:menuitem value="Overview" outcome="index" icon="ui-icon-star">
        <f:param name="i" value="0" />
    </p:menuitem>
    <p:menuitem value="Demos" outcome="second" icon="ui-icon-search">
        <f:param name="i" value="1" />
    </p:menuitem>
</p:tabMenu>

第二页包含一个表格:

<h:form>
    <h:inputText id="name" value="#{name}" a:placeholder="What's your name?" />
    <h:commandButton value="Submit" outcome="second" />
    <br/> <h:outputText value="Hello, #{name}" rendered="#{not empty name}" />
</h:form>

问题是表单提交后activeIndex变为0。如何解决?

通过向 commnadButton

添加 <f:param name="i" value="1" /> 来修复

我个人使用 @ViewAccessedScope 作为 DeltaSpike 的菜单后备蔬菜,而不是传递参数。