You can only generate literal types of Long, Double, or String in EL.
The only way I know to do this in EL is to provide a facelets
conversion function like
itemValue="#{myFunctions:characterToString('A')}". I don't know if a
character-to-String converter for the component would work in this
case, but you could try that like Jakob suggested.
On Wed, Dec 16, 2009 at 9:29 AM, SANTINI, Rafael <[email protected]> wrote:
> Hi Jakob,
>
> My domain class uses Character.
>
> How can I generate values of type Character in <f:selectItem>?
>
> Thanks,
>
> Rafael Santini
>
> ----- Original Message ----- From: "Jakob Korherr" <[email protected]>
> To: "MyFaces Discussion" <[email protected]>
> Cc: "SANTINI Rafael" <[email protected]>
> Sent: Wednesday, December 16, 2009 10:12 AM
> Subject: Re: This is a bug?
>
>
>> Hi Rafael,
>>
>> You have to use String instead of Character for the option property in
>> Bean,
>> because <f:selectItem> generates a String value for itemValue="A".
>>
>> If you really want to use a Character though, you have to make sure that
>> <f:selectItem> generates values of type Character and also provide a
>> Character-converter for <h:selectOneMenu>.
>>
>> Regards,
>>
>> Jakob Korherr
>>
>>
>> 2009/12/16 SANTINI, Rafael <[email protected]>
>>
>>> Hi,
>>>
>>> I can't figure out why "value is not valid" is throwed. I'm using
>>> myfaces-core-1.1.7.
>>>
>>> Test case:
>>>
>>> <h:form>
>>> <h:outputText value="Option:"/>
>>> <h:selectOneMenu value="#{bean.option}" id="option">
>>> <f:selectItem itemValue="A" itemLabel="A"/>
>>> <f:selectItem itemValue="B" itemLabel="B"/>
>>> <f:selectItem itemValue="C" itemLabel="C"/>
>>> </h:selectOneMenu>
>>> <h:message for="option"/>
>>> <h:commandButton value="Test" action="#{bean.test}"/>
>>> </h:form>
>>>
>>> public class Bean {
>>>
>>> private Character option = 'A';
>>>
>>> public Character getOption() {
>>> return option;
>>> }
>>>
>>> public void setOption(Character option) {
>>> this.option = option;
>>> }
>>>
>>> public void test() {
>>> System.out.println(option);
>>> }
>>>
>>> }
>>>
>>> This is a bug? What I'm missing?
>>>
>>> Thanks,
>>>
>>> Rafael Santini
>>>
>>
>
>