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
> >>
> >
>