Hi Jakob,

I have tried like you suggest, but does not works.

<f:selectItem itemValue="#{'A'}" itemLabel="A"/>
<f:selectItem itemValue="#{'B'}" itemLabel="B"/>
<f:selectItem itemValue="#{'C'}" itemLabel="C"/>

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:38 AM
Subject: Re: This is a bug?


Hi,

+1 for your suggestion, mike!

To generate a Character value in <f:selectItem> use #{'A'} for 'A' and
#{'B'} for 'B' respectively.
I just tried this (although with JSF 2.0), but I think it also works on 1.1.

Regards,

Jakob

2009/12/16 Mike Kienenberger <[email protected]>

This question pops up fairly often, and it's always a programming
error.   Maybe we should change the error text to include the type
expected and the actual type found?

On Wed, Dec 16, 2009 at 8:12 AM, Jakob Korherr <[email protected]>
wrote:
> 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
>>
>



Reply via email to