Custom Boolean to Yes/No faces converter
The converter class looks like this:
public class YesNoConverter implements javax.faces.convert.Converter{
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
if(arg2 == null){
return null;
}
else{
if("Yes".equalsIgnoreCase(arg2)){
return Boolean.TRUE;
}
else if("No".equalsIgnoreCase(arg2)){
return Boolean.FALSE;
}
else{
return null;
}
}
}
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
if(arg2 == null){
return "";
}
if(((Boolean)arg2)){
return "Yes";
}
else{
return "No";
}
}
}
After this you add the converter in your faces-config.xml.
<managed-bean>
<managed-bean-name>YesNoConverter</managed-bean-name>
<managed-bean-class>nl.yenlo.webpage.converters.YesNoConverter</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
If your object has a converter attribute, you can use the converter like this:
<h:outputText value="#{someobject.Boolean}" converter="#{YesNoConverter}"/>
Else you can use the faces converter object:
<h:outputText value="#{someobject.Boolean}" >
<f:converter converterId="myConverter"/>
</h:outputText>

Comments are closed.