I try to register a custom converter for my business model enums in Seam 
2.0.1.GA. This works fine until I do use facelets EL to access my properties.

That's my enum:
public enum Gender {
  |     MALE, FEMALE
  | }

Here's my converter (it's not finished, I know ;-):
@Name("genderConverter")
  | @org.jboss.seam.annotations.faces.Converter(forClass = Gender.class)
  | public class GenderConverter implements Converter, Serializable {
  | 
  |     private static final long serialVersionUID = 3237852262587078904L;
  | 
  |     public Object getAsObject(FacesContext facesContext, UIComponent 
uiComponent, String string) {
  | // TODO
  |             return Gender.MALE;
  |     }
  |     public String getAsString(FacesContext facesContext, UIComponent 
uiComponent, Object object) {
  |             String retVal = null;
  |             if (object instanceof Enum) {
  |                     final Enum<Gender> instance = (Enum<Gender>) object;
  |                     final String resourceKey = instance.name();
  |                     // final String resourceKey = 
instance.getClass().getName() + "." +
  |                     // instance.name();
  |                     try {
  |                             retVal = 
ResourceBundle.instance().getString(resourceKey);
  |                     } catch (MissingResourceException e) {
  |                             // Ignore
  |                             System.out.println(e);
  |                     }
  |                     if ("".equals(retVal)) {
  |                             retVal = instance.name();
  |                     }
  |             }
  |             System.out.println("retrieved gener " + retVal);
  |             return retVal;
  | 
  |     }
  | 
  | }

Now it depends on the facelets page if the above code is working.

This works fine and retrieves the translation for the key from the messages 
properties ("male"):
        <div class="entry">
  |             <div class="label">Geschlecht:</div>
  |             <div class="output"><h:outputText 
value="#{member.gender}"/></div>
  |     </div>

This doesn't work, because only the name of the enum ("MALE") is displayed:
        <div class="entry">
  |             <div class="label">Gender:</div>
  |             <div class="output">#{member.gender}</div>
  |     </div>

Has anyone a idea why my custom converter doesn't work with the second style?

Thanks, Maik.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128161#4128161

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128161
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to