Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.9m9, 1.1.0
-
None
-
None
-
None
-
Linux, and Windows XP; Tomcat 5.0.18 and Weblogic 8.1SP3
Description
In our JSP we have,
[snip]
<p>
<h:message id="errors" for="helloInput" style="color: red"/>
</p>
<p>
<h:outputLabel for="helloInput" >
<h:outputText id="helloInputLabel"
value="Enter number of controls to display:"/>
</h:outputLabel>
<h:message id="errors" for="helloInput" style="color: red"/>
[snip]
(This is the "hello world" from JavaServer Faces In Action example.) As the 'for' tag refers to helloInput, a component that hasn't yet been defined, we get an exception and the app won't deploy (below),
Changing the order of the components, so the "helloInput" outputLabel is defined first works, although we lose the ordering. Also, the notion of wrapping the two components as children in a panelGroup does not appear to work, either.
Behavior seen in 1.0.9 and nightly snapshot 20050530, running with WLS 8.1SP3 and Tomcat 5.0.18.
javax.faces.FacesException: Could not render Message. Unable to find component 'helloInput' (calling findComponent on component 'welcomeForm:errors')
at org.apache.myfaces.renderkit.html.HtmlMessageRendererBase.renderMessage(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(HtmlMessageRendererBase.java:105)
at org.apache.myfaces.renderkit.html.HtmlMessageRenderer.encodeEnd(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(HtmlMessageRenderer.java:53)
at javax.faces.component.UIComponentBase.encodeEnd(Ljavax.faces.context.FacesContext;)V(UIComponentBase.java:341)
... etc ...