Temadown Wptr | Theme by mg12 | Valid XHTML 1.1 and CSS 3
  • 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>
    • del.icio.us
    • Facebook
    • Google
    • Digg
    • Mixx
    • Technorati
    • Live
    • Reddit
    • Sphinn
    • Furl
    Çarşamba, Temmuz 15th, 2009 at 14:58
No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
TOP