[
https://issues.apache.org/jira/browse/MYFACES-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12873926#action_12873926
]
Martin Marinschek commented on MYFACES-2739:
--------------------------------------------
Hi Gentlemen,
I don't think it is a good idea to wait for 2.1. As slow as things currently
run inside the big companies involved, we should rather have a
context-parameter "strict-compatibility mode" and we should try to fix such
issues (which are really issues hindering people using JSF properly) if this is
not set to true.
best regards,
Martin
> Pass through String values in EnumConverter.getAsString()
> ---------------------------------------------------------
>
> Key: MYFACES-2739
> URL: https://issues.apache.org/jira/browse/MYFACES-2739
> Project: MyFaces Core
> Issue Type: Improvement
> Components: JSR-314
> Affects Versions: 2.0.0
> Reporter: Jakob Korherr
> Assignee: Jakob Korherr
> Attachments: MYFACES-2739.patch
>
>
> From the related spec issue (#817 -
> https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=817):
> In every standard by-type converter in the JSF spec, except for the
> EnumConverter, the following code is present in getAsString():
> if (value instanceof String)
> {
> return (String) value;
> }
> Thus allowing String values to be used directly as the String representation
> of
> the type. This allows e.g. the following scenario for an Integer property in
> the
> managed bean to work, although "1234" beeing a String and not an Integer:
> <h:selectOneRadio value="#{myBean.inputInt}">
> <f:selectItem itemValue="1234" />
> </h:selectOneRadio>
> However the spec javadoc of the EnumConverter does not include this scenario
> and
> thus EnumConverter.getAsString() throws a ConverterException when providing a
> String value. This means that the following scenario won't work, although it
> should on my opinion (note that this currently does work with Mojarra because
> of
> an implementation issue - see [1] for details):
> <h:selectOneRadio value="#{myBean.inputEnum}">
> <f:selectItem itemValue="EnumConstant1" />
> </h:selectOneRadio>
> EnumConstant1 beeing a valid constant in the enum type referenced by
> #{myBean.inputEnum}. The only way to make this work right now is to use a
> ValueExpression that resolves to the needed enum constant, so something like
> this:
> <h:selectOneRadio value="#{myBean.inputEnum}">
> <f:selectItem itemValue="#{myBean.propertyThatResolvesToEnumConstant1}" />
> </h:selectOneRadio>
> This is not very straight forward IMHO, thus I think
> EnumConverter.getAsString()
> should pass through String-values just as every other standard by-type
> converter
> does.
> See also the discussion on the MyFaces user mailing list about this [2].
> [1] https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1694
> [2] http://www.mail-archive.com/[email protected]/msg55742.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.