[
https://issues.apache.org/jira/browse/MYFACES-1493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
K. Ghadami updated MYFACES-1493:
--------------------------------
Status: Patch Available (was: Open)
> h:selectOneMenu should resolve non-string objects in the value property
> without a converter
> -------------------------------------------------------------------------------------------
>
> Key: MYFACES-1493
> URL: https://issues.apache.org/jira/browse/MYFACES-1493
> Project: MyFaces Core
> Issue Type: Improvement
> Affects Versions: 1.1.4
> Environment: JDK 1.5.0_08
> Reporter: Paul Norrie
> Priority: Minor
>
> h:selectOneMenu appears to require a converter if the object bound in the
> value field is not a java.lang.String.
> To reproduce:
> JSP snippet:
> <h:dataTable var="row" value="#{bean.rows}>
> <h:column>
> <h:selectOneMenu value="#{row.day}"/>
> <h:column>
> </h:dataTable>
> Java snippet (backing bean):
> private List<UserClass> rows;
> public List getRows(){
> return rows;
> }
> Java snippet (UserClass):
> static enum Day {MON, TUE, WED, THU, FRI, SAT, SUN};
> private Day day;
> public getDay(){
> return day;
> }
> Expected:
> the enum Day to be converted to a string and display either "MON", "TUE",
> etc...
> Actual:
> java.lang.IllegalArgumentException: Value is no String (class=UserClass$Day,
> value=MON)
> at
> org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:536)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.getSubmittedOrSelectedValuesAsSet(HtmlRendererUtils.java:321)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.internalRenderSelect(HtmlRendererUtils.java:296)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.renderMenu(HtmlRendererUtils.java:252)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlMenuRendererBase.encodeEnd(HtmlMenuRendererBase.java:54)
> at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
> at
> org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:442)
> at
> org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:419)
> at
> org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:440)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.renderColumnBody(HtmlTableRendererBase.java:332)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeColumnChild(HtmlTableRendererBase.java:301)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeInnerHtml(HtmlTableRendererBase.java:277)
> at
> org.apache.myfaces.shared_impl.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java:123)
> at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
> The RI and ADF Faces will quite happily work, however myfaces doc's seem to
> mean that a convertor is needed.
> See also http://www.mail-archive.com/[EMAIL PROTECTED]/msg29588.html
> This is a pain - could it be fixed please?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.