[
https://issues.jboss.org/browse/SEAMFACES-166?page=com.atlassian.jira.plu...
]
Christian Kaltepoth updated SEAMFACES-166:
------------------------------------------
Git Pull Request:
https://github.com/seam/faces/pull/36
Description:
MyFaces emits some warning when {{<s:validateForm>}} is used on a page:
{code}
30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNUNG: Unsupported component-family/renderer-type:
org.jboss.seam.faces.ValidateForm/javax.faces.Text
30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
INFO: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
WARNUNG: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
{code}
{{UIValidateForm}} doesn't render any output and therefore implements the
{{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be
{{null}} for this methods to be used (direct implementation model for rendering
components).
The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to
4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is
{{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}}
MyFaces uses the default value and therefore searches for a renderer for the component.
was:
MyFaces emits some warning when <s:validateForm> is used on a page:
{code}
30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNUNG: Unsupported component-family/renderer-type:
org.jboss.seam.faces.ValidateForm/javax.faces.Text
30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
INFO: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
WARNUNG: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
{code}
{{UIValidateForm}} doesn't render any output and therefore implements the
{{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be
{{null}} for this methods to be used (direct implementation model for rendering
components).
The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to
4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is
{{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}}
MyFaces uses the default value and therefore searches for a renderer for the component.
I just opened a pull request:
https://github.com/seam/faces/pull/36
UIValidateForm doesn't set the rendererType property correctly
--------------------------------------------------------------
Key: SEAMFACES-166
URL:
https://issues.jboss.org/browse/SEAMFACES-166
Project: Seam Faces
Issue Type: Bug
Components: Validation & Conversion
Affects Versions: 3.0.1
Environment: Tomcat 7.0.5, MyFaces 2.0.5, Weld 1.1.0
Reporter: Christian Kaltepoth
Priority: Minor
MyFaces emits some warning when {{<s:validateForm>}} is used on a page:
{code}
30.05.2011 17:30:03 org.apache.myfaces.renderkit.html.HtmlRenderKitImpl getRenderer
WARNUNG: Unsupported component-family/renderer-type:
org.jboss.seam.faces.ValidateForm/javax.faces.Text
30.05.2011 17:30:03 org.apache.catalina.core.ApplicationContext log
INFO: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
30.05.2011 17:30:03 javax.faces.component.UIComponentBase getRenderer
WARNUNG: No Renderer found for component {Component-Path : [Class:
javax.faces.component.UIViewRoot,ViewId: /validation.xhtml][Class:
javax.faces.component.html.HtmlForm,Id: j_id98696035_5e1fb46][Class:
org.jboss.seam.faces.component.UIValidateForm,Id: j_id98696035_5e1fb24]}
(component-family=org.jboss.seam.faces.ValidateForm, renderer-type=javax.faces.Text)
{code}
{{UIValidateForm}} doesn't render any output and therefore implements the
{{encode*()}} methods with empty method bodies. The {{rendererType}} property has to be
{{null}} for this methods to be used (direct implementation model for rendering
components).
The problem with {{UIValidateForm}} is that it is a subclass of {{UIInput}}. According to
4.1.6.2 the default value of the {{rendererType}} property for {{UIInput}} is
{{javax.faces.Text}}. As {{UIValidateForm}} doesn't overwrite {{getRendererType()}}
MyFaces uses the default value and therefore searches for a renderer for the component.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira