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.

  • 071 - 82 000 82
  • Rijndijk 137 | 2394 AG Hazerswoude-Rijndijk
DEMO
Oracle Specialized
Java
GlassFish
WSO2
i-bridge
Rabobank
Greencat
Reuma Revalidatie Rotterdam
Robeco
VU Medisch Centrum
CHS
LUMC
TomTom
TKP
NCCW
Erasmus MC
UMCG
VIR
ANWB
BVA Auctions
D-Reizen
STEDIN