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
}@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;
}
}<div class="entry">
<div class="label">Geschlecht:</div>
<div class="output"><h:outputText value="#{member.gender}"/></div>
</div><div class="entry">
<div class="label">Gender:</div>
<div class="output">#{member.gender}</div>
</div>I don't think converters are applied when using inline EL like that