JSF- Custom Converter
Custom converter lar JSF tarafında halihazırda bulunan converter ların yetmediği durumlarda kullanılır. Bu durumda kendinizi özel ceviriciler yazmanız gerekir.
Converterlar;
Var olan converter ların yeterli gelmediği durumlarda kullanılır.
Sınıflar için uygulanabilirler.
Sınıfların arayüz tarafında gösterimini saglayabilirler.
Converter Sınıfı
getAsObject -Obje değeri
getAsString -Karakter değeri
public Object getAsObject(FacesContext context, UIComponent component,String value)
public String getAsString(FacesContext context, UIComponent component,Object value)
Ornek pojo
public class PhoneNumber {
String code;
String number;
//Setter getter …
@Override
public String toString() {
return code +" "+number;
}
}
Ornek converter sınıfı
public class PhoneConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null || value.equals("")) {
return null;
}
String[] s = value.split(" "); //532 1232244
PhoneNumber phone = new PhoneNumber();
phone.setCode(s[0]);
phone.setNumber(s[1]);
return phone;
}
public String getAsString(FacesContext context, UIComponent component,Object value) {
return value.toString();
}
}
faces-config.xml converter tanımı
<converter>
<converter-id>phoneNumber</converter-id>
<converter-class>PhoneConverter</converter-class>
</converter>
<h:form>
<h:inputText value="#{demo.testValue}">
<f:converter converterId="phoneNumber"/>
</h:inputText>
<h:commandButton action="#{demo.testAction}" value="Test" />
<br />
<h:messages />
</h:form>
Recent Comments