myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Kienenberger" <mkien...@gmail.com>
Subject Re: SelectItem compatibility was broken from 1.1.3 to 1.1.5?
Date Wed, 14 Mar 2007 21:08:21 GMT
I've been answering this question a lot recently.

There's nothing in the spec that allows us to coerce from one type to
another for f:selectItem.

4.1.13.2 Properties

The server-side value of this item, of the same
basic data type as the parent component's
value. If the parent component type's value is a
value binding expression that points at a
primitive, this value must be of the
corresponding wrapper type

However, we could allow such a coercion for t:selectItem.

Another workaround that might help is using "#{1}" instead of "1"

On 3/14/07, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> I was having a problem with a bug in 1.1.3 of tomahawk/myfaces that
> was fixed in 1.1.5 core, so I decided to upgrade to
> 1.1.5/1.1.5-Snapshot. After the upgrade, many of my select controls
> (selectOneRadio, selectOneMenu, etc.) are now broken. The cause is
> that in 1.1.3 non-converted values were allowed, but in 1.1.5 they are
> not.
>
> Example:
>
> <t:selectOneRadio value="#{bean.value}">
>   <f:selectItem itemValue="1" />
>   <f:selectItem itemValue="2" />
> </t:selectOneRadio>
>
> public class MyBean {
>   private int value;
>   public int getValue() {return value;}
>   public void setValue(int value) { this.value = value; }
> }
>
> In 1.1.3, this worked. In 1.1.5 this fails. The reason for the failure
> is that in 1.1.5 it looks for a select item with value of Integer(1)
> or Integer(2), but the select items contain "1" and "2". Since  the
> following are false:
>
> new Integer(1) == "1" && (new Integer(1)).equals("1")
>
> The validation always fails. This was a nice feature in 1.1.3, that
> the item value of a select item can be a string representation that
> the converter would take care of. Was this part of the JSF spec. and
> 1.1.3 was not compliant, or was there another reason?
>
> Thanks,
> Andrew
>

Mime
View raw message