我在浏览器上使用jsf primefaces时收到警告消息

时间:2011-03-11 09:03:37

标签: primefaces

当我尝试执行此代码时,我正在使用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>

中包含必要的组件

请让我知道我在哪里犯了错误

3 个答案:

答案 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标记中。 “生产”参数值仅隐藏警告,不是解决方法。