2011-10-12 4 views
11

estoy recibiendo el siguiente error en mi página Facelet, que consiste simplemente en un IceFaces formulario con dos campos y dos botones:El componente de formulario necesita tener un UIForm en su ascendencia. Sugerencia: encerrar los componentes necesarios dentro de <h:form>

El componente de forma necesita tener un UIForm en su ascendencia Sugerencia: encerrar los componentes necesarios dentro < h: form >

Aquí está la forma:

<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> 

cómo es esto provocó y cómo puedo solucionarlo?

Respuesta

14

Esto no es un error. Esta es una advertencia. El código se ve bien, todos los componentes de entrada están dentro de un formulario, parece que debería ejecutarse y funcionar bien. Si de hecho funciona bien, simplemente ignore la advertencia. Esta advertencia solo se muestra cuando el parámetro de contexto javax.faces.PROJECT_STAGE se establece en Development de todos modos.

En cuanto al mensaje de advertencia falso en sí, esta comprobación se introdujo en Mojarra 2.1.1 según issue 1663. Sin embargo, según issue 2147 resulta que tiene algunos errores y se ha mejorado aún más en Mojarra 2.1.3. Me imagino que la advertencia falsa está en su caso particular causada por tener un <ice:panelLayout> entre el formulario y los elementos de entrada.

Si todavía no está en Mojarra 2.1.3, le recomendamos que actualice para ver si elimina el mensaje de advertencia falso.

+0

estoy usando JSF 2 Mojarra (API desde javax.faces y impl de com.sun.faces: ' com.sun.faces JSF-api 2.1.0-b11 compilar com.sun.faces JSF-impl 2.1.0-b11 compilar ' –

+0

FYI: Estoy usando JBoss AS 7.0.2.Final, que viene con "Mojarra 2.1.3 (INSTANTÁNEA 20110825)" y yo ver este mensaje en una de mis páginas –

+0

@BalusC ¿Hay alguna manera de evitar que se muestren como mensajes de la cara durante su etapa de desarrollo? Porque tengo esos mensajes en todas mis páginas y es molesto diseñar con este mensaje inútil. – Ced

Cuestiones relacionadas