Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Duplicate
-
Affects Version/s: 1.6
-
Fix Version/s: 1.8
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Windows XP SP2, Java 1.5.0_12, JBoss 4.0.5, Facelets, Seam 1.2.1
-
Workaround Exists:Yes
-
Workaround Description:
Description
When created via API, a SelectInputText component gets assigned a wrong renderer type "com.icesoft.faces.Text". A correct default renderer type, according to the JavaDoc, should be "com.icesoft.faces.SelectInputText". When created via a tag though, a SelectInputText component gets correctly initialized with a correct renderer type.
The problem can be reproduced by binding a bean that will create an instance of SelectInputText with this snipplet:
<ice:panelGroup binding="#{autoCompleteTestBean.panel}" >
public void setPanel(HtmlPanelGroup panel) {
...
SelectInputText input = new SelectInputText();
panel.getChildren().add(input);
...
}
The resulting HTML code for the SelectInputText component is rendered as an ordinary InputText without any autocomplete features, unless the line
input.setRendererType(SelectInputText.COMPONENT_TYPE);
is not added to the code of the setPanel() method.
A quick inspection of the source code of the SelectInputText class shows that the renderer type "com.icesoft.faces.SelectInputText" is declared in the class but is never assigned in its code. Instead, a class instance inherits a renderer type from its superclass which is HtmlInputText
The problem can be reproduced by binding a bean that will create an instance of SelectInputText with this snipplet:
<ice:panelGroup binding="#{autoCompleteTestBean.panel}" >
public void setPanel(HtmlPanelGroup panel) {
...
SelectInputText input = new SelectInputText();
panel.getChildren().add(input);
...
}
The resulting HTML code for the SelectInputText component is rendered as an ordinary InputText without any autocomplete features, unless the line
input.setRendererType(SelectInputText.COMPONENT_TYPE);
is not added to the code of the setPanel() method.
A quick inspection of the source code of the SelectInputText class shows that the renderer type "com.icesoft.faces.SelectInputText" is declared in the class but is never assigned in its code. Instead, a class instance inherits a renderer type from its superclass which is HtmlInputText
Issue Links
- is duplicated by
-
ICE-3768 Generate faces-config.xml from metadata
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
resolved in duplicate