0 Replies Latest reply on Oct 27, 2010 4:08 AM by Hans-Michael Rupp

    Very strange behavior: 'Ghost' Converter treats text-input as Enum

    Hans-Michael Rupp Novice

      JBoss 6 M5 (out of the box, nothing added)


      I have a poject with JSF 2.0 Facelets. I have several EnumConverter classe to bind enums directly to the view like:


      public class AusbildungsartConverter extends EnumConverter {


          public AusbildungsartConverter() {


      I use them in <h:selectOneMenu>

      and that works just fine.


      However after I have added a simple <h:inputText without an converter I cannot enter any free text. Even on a new test page:


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"


                  <h:inputText id="fasel" value="#{berechnung.aez.fasel}" />
                  <h:message for="fasel"/>
                  <br />
                  <h:commandButton value="Submit" action="submit()"/>




      After entering 'blubber' I get the conversion error

      j_idt4:fasel: 'blubber' must be convertible to an enum from the enum that contains the constant 'blubber'.


      Managed Bean:

      package beans;



      public class Berechnung {


          private BafoegRechner bafoegRechner;
          private AezDAO aezDAO;
          private AenderungszeitraumFlat aenderungszeitraumFlat = new AenderungszeitraumFlat();
          private BerechnungErgebnis berechnungErgebnis;


          private UnterhaltsberechtigterP unterhaltsberechtigter;
          public AenderungszeitraumFlat getAez() {
              return aenderungszeitraumFlat;


          public void setAez(
                  AenderungszeitraumFlat aenderungszeitraumFlat) {
              this.aenderungszeitraumFlat = aenderungszeitraumFlat;



          public BerechnungErgebnis getErgebnis() {
              return berechnungErgebnis;


          public void setErgebnis(BerechnungErgebnis berechnungErgebnis) {
              this.berechnungErgebnis = berechnungErgebnis;



          public String doBerechnung() {
              Aenderungszeitraum aenderungszeitraum = this.aenderungszeitraumFlat.buildAenderungszeitraum();
              berechnungErgebnis = bafoegRechner.berechnneFoerderung(aenderungszeitraum);
              return "ergebnis.xhtml";
          public void save() {
              aenderungszeitraumFlat = new AenderungszeitraumFlat();
          public List<Long> getIds() {
              List<Long> ids = aezDAO.getIds();
              return ids;
          public List<Description> getDescriptions() {
              List<Description> descriptions = aezDAO.getDescriptions();
              return descriptions;
           * Drop Down Menü für Rechtliche Stellung Ausbildungstätte
           * @return
          public SelectItem[] getRechtsStellungSelectOne() {
              SelectItem[] items = new SelectItem[RechtlicheStellungAusbildungsstaette.values().length];
              int i=0;
              for (RechtlicheStellungAusbildungsstaette rechtlicheStellungAusbildungsstaette : RechtlicheStellungAusbildungsstaette.values()) {
                  items[i++] = new SelectItem(rechtlicheStellungAusbildungsstaette, rechtlicheStellungAusbildungsstaette.toString());
              return items;

           // More stuff like that




          @NamedQuery(name="selectIds", query="SELECT aez.id FROM AenderungszeitraumFlat aez"),
          @NamedQuery(name="selectDesc", query="SELECT NEW glue.Description(aez.id, aez.beschreibung) FROM AenderungszeitraumFlat aez"),
          @NamedQuery(name="selectDescWorkaround", query="SELECT aez.id, aez.beschreibung FROM AenderungszeitraumFlat aez")


      public class AenderungszeitraumFlat {
          @Id @GeneratedValue
          private long id;
          private String beschreibung;
          private String fasel;


          public String getFasel() {
              return fasel;


          public void setFasel(String fasel) {
              this.fasel = fasel;





      I have NO faces-config.xml


      Does anybody have an idea what might cause this behavior?

      This is absolutely driving me nuts.