2 Replies Latest reply on Mar 22, 2007 7:18 AM by Stuart Robertson

    s:selectItems noSelectionLabel issue w/JSF 1.2

    Stuart Robertson Novice

      Just upgraded to JSF 1.2, and am running latest-from-cvs Seam with Facelets.

      I have a simple selectOneMenu populated by a s:selectItems:

      <h:selectOneMenu value="#{criteria.operation}">
       <s:selectItems value="#{itemSearch.operations}" var="operation"
       label="#{operation.description}"
       noSelectionLabel="Select operation..."
       hideNoSelectionLabel="false" />
       <s:convertEnum />
      </h:selectOneMenu>
      


      This worked fine before I upgraded to JSF 1.2 (tonight) - though I also upgraded to the latest Seam at the same time.

      The problem is that the noSelectionLabel is being interpreted as a legitimate selection, rather than being, well, an indicator nothing was selected. And so here's what I see:

      Caused by: java.lang.IllegalArgumentException: No enum const class com.fb.core.model.cdm.CdmField.Select search field...
       at java.lang.Enum.valueOf(Enum.java:192)
       at org.jboss.seam.ui.EnumConverter.getAsObject(EnumConverter.java:16)
       at org.jboss.seam.ui.PrioritizableConverter.getAsObject(PrioritizableConverter.java:61)
       at org.jboss.seam.ui.ConverterChain.getAsObject(ConverterChain.java:103)
       at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:152)
       at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:197)
       at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:359)
       at javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
      


      The converter is being asked to convert the noSelection value back into an enum.

      Is this a bug or am I missing something? I'll file a bug report but wanted to get feedback first.