当我尝试执行此代码时,我正在使用primefaces和Jsf与glassfish
<p:menubar autoSubmenuDisplay="true" effect="slide">
<p:submenu label="File" icon="ui-icon ui-icon-gear">
<p:menuitem value="Logout" url="#" />
</p:submenu>
<p:submenu label="Goto" icon="ui-icon ui-icon-gear">
<p:menuitem value="Enhancement Catalog" action="#{adminControlBean.eAMChat}" id="submit1" ajax="false" />
<p:menuitem value="Proceed to Chat" action="#{adminControlBean.enhancementCatalog}" id="submit2" />
<p:menuitem value="Customer Maintanence" action="#{adminControlBean.customerMaintanance}" id="submit3" />
<p:menuitem value="Moderator Maintanence" action="#{adminControlBean.moderatorMaintanance}" id="submit4" />
<p:menuitem value="Chat Protocols" action="#{adminControlBean.chatProtocalMaintanance}" id="submit5" ajax="false" />
</p:submenu>
<p:submenu label="Edit" icon="ui-icon ui-icon-gear">
<p:menuitem value="Change Password" action="#{password.submitAction}" id="submit" />
</p:submenu>
</p:menubar>
我收到警告信息
表单组件需要在其祖先中具有UIForm。建议:在
中包含必要的组件<h:form>
请让我知道我在哪里犯了错误
答案 0 :(得分:5)
基于上面提到的链接a user suggested来改变这个:
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
为:
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Production</param-value>
</context-param>
希望这有帮助...它只是摆脱了这里的信息,虽然潜在的问题在PF实施中,因为那里的讨论似乎意味着。
答案 1 :(得分:1)
这似乎是JSF 2.1实现中的一个错误。
Se this primefaces issue了解详情
答案 2 :(得分:-1)
您需要将表单组件(例如inputtext,checkbox,inputhidden等)封装到form标记中。 “生产”参数值仅隐藏警告,不是解决方法。