Templates 菜单栏不使用ui的原因:包含在Primefaces中

Templates 菜单栏不使用ui的原因:包含在Primefaces中,templates,primefaces,menubar,Templates,Primefaces,Menubar,为什么上面的按钮不工作,而普通命令按钮工作?我将menuBar.xhtml包含到我的页面中,此后菜单将不再工作。如果我直接将它们实现到原始页面而不包括它们,那么它们工作得很好,为什么?Primefaces版本3.1和JSF2.0+Glassfish 3.1 干杯, Sami我在我的环境中检查了你的问题,不得不说它对我有效,尽管我做了一些小的改变 首先,我在我的/WEB-INF/template/文件夹中创建了作文页: <ui:composition> <h:fo

为什么上面的按钮不工作,而普通命令按钮工作?我将menuBar.xhtml包含到我的页面中,此后菜单将不再工作。如果我直接将它们实现到原始页面而不包括它们,那么它们工作得很好,为什么?Primefaces版本3.1和JSF2.0+Glassfish 3.1

干杯,
Sami

我在我的环境中检查了你的问题,不得不说它对我有效,尽管我做了一些小的改变

首先,我在我的
/WEB-INF/template/
文件夹中创建了作文页:

<ui:composition>
        <h:form>
           <p:menubar>
                    <p:menuitem id="signup" value="signup" label="Sign Up" action="goSignUp"/>
           </p:menubar>

            <h:commandButton  id ="signup2" value="signup2" label="Sign Up" action="goSignUp" />

        </h:form>
 </ui:composition>

之后,我将其插入到.xhtml文件中:


一切都很顺利。
也许您注意到了
标记上设置的ajax=“false”属性。此值设置为true per default,并停止JSF实现以执行其默认生命周期。通过将其设置为false,您将获得常规JSF行为

希望这有帮助,玩得开心

<body>
  <ui:composition>
    <p:menubar>
      <p:menuitem id="signup" value="signup" label="Sign Up" action="goSignUp" ajax="false"/>
    </p:menubar>

    <h:commandButton id="signup2" value="signup2" label="Sign Up" action="goSignUp" />
  </ui:composition>
</body>
<f:view>
  <h:body>
    <h:form>
        <ui:include src="/META-INF/template/navbar.xhtml" />
    </h:form>
  </h:body>
</f:view>