Mah*_*leh 11 jsf icefaces jsf-2
我在我的Facelet页面上收到以下错误,该页面只包含一个带有两个字段和两个按钮的IceFaces表单:
表单组件需要在其祖先中具有UIForm.建议:在<h:form>中包含必要的组件
这是表格:
<ice:form id="form1" partialSubmit="false">
    <ice:panelLayout id="panelLayout3">
        <ice:graphicImage id="graphicImage1" url="/resources/images/LoginImage.jpg" width="560" />
        <ice:outputLabel for="j_username" id="outputLabel1" value="Username:"/>
        <ice:outputLabel for="j_password" id="outputLabel2" value="Password:"/>
        <ice:inputText binding="#{login.username}" id="j_username" required="true" />
        <ice:inputSecret binding="#{login.password}" id="j_password" required="true" />
        <ice:commandButton  actionListener="#{login.login}" id="loginBtn" value="Login"/>
        <ice:commandButton action="#{login.reset}" id="resetBtn" value="Reset"/>
        <ice:outputText id="errorMessage" />
        <ice:message errorClass="errorMessage" for="j_username" fatalClass="fatalMessage" id="messages1" infoClass="infoMessage" showSummary="false" warnClass="warnMessage"/>
    </ice:panelLayout>
</ice:form>
这是怎么造成的,我该如何解决?
Bal*_*usC 14
这不是错误.这是一个警告.代码看起来很好,所有输入组件都在一个表单中,它似乎应该运行并且工作正常.如果它确实工作正常,只需忽略警告.仅当context参数javax.faces.PROJECT_STAGE设置为Developmentany 时才会显示此警告.
至于虚假警告信息本身,根据问题1663,该检查在Mojarra 2.1.1中引入.然而,根据问题2147,事实证明它有一些缺陷,并在Mojarra 2.1.3中得到进一步改进.我想象在你的特殊情况下,由于<ice:panelLayout>在表单和输入元素之间存在错误警告.
如果您尚未使用Mojarra 2.1.3,则可能需要考虑升级以查看是否删除了错误警告消息.