2011-10-12 8 views
11

otrzymuję następujący błąd na moim Facelet stronie, która po prostu składa się z ICEfaces tworzą dwa pola i dwóch przycisków:Komponent formularza musi mieć UIForm w swoim pochodzeniu. Sugestia: załączyć niezbędne komponenty wewnątrz <h:form>

Komponent forma musi mieć UIForm w jego pochodzenie. Sugestia: załączyć niezbędne komponenty wewnątrz < godz: forma >

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

Jak to jest spowodowane i jak mogę go rozwiązać?

Odpowiedz

14

To nie jest błąd. To jest ostrzeżenie. Kod wygląda dobrze, wszystkie komponenty wejściowe są w formularzu, wydaje się, że powinien działać i działać poprawnie. Jeśli rzeczywiście działa poprawnie, po prostu zignoruj ​​ostrzeżenie. To ostrzeżenie jest wyświetlane tylko wtedy, gdy parametr kontekstu javax.faces.PROJECT_STAGE jest ustawiony na Development.

Co do samego fałszywego komunikatu ostrzegawczego, ta kontrola została wprowadzona w Mojarra 2.1.1 zgodnie z issue 1663. Jednak, jak na issue 2147, okazuje się, że ma pewne błędy i jest dalej ulepszany w Mojarrze 2.1.3. Wyobrażam sobie, że fałszywe ostrzeżenie jest w twoim konkretnym przypadku spowodowane przez posiadanie <ice:panelLayout> między formularzem a elementami wejściowymi.

Jeśli nie masz jeszcze wersji Mojarra 2.1.3, możesz rozważyć aktualizację, aby zobaczyć, czy usuwa ona fałszywe ostrzeżenie.

+0

używam JSF 2 Mojarra (API z javax.faces i IMPL z com.sun.faces: ' com.sun.faces JSF-api 2.1.0-b11 kompilacji com.sun.faces JSF-impl 2.1.0-b11 skompilować ' –

+0

FYI: Używam JBoss AS 7.0.2.Final, która pochodzi z "Mojarra 2.1.3 (SNAPSHOT 20110825)", a ja widzę ten komunikat na jednej moich stron. –

+0

@BalusC Czy jest jakiś sposób, aby zapobiec wyświetlaniu ich jako wiadomości o twarzy podczas pobytu na etapie rozwoju? Ponieważ mam te wiadomości na wszystkich moich stronach i denerwujące jest projektowanie z tą bezużyteczną wiadomością. – Ced

Powiązane problemy