Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > JSF - converter
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
03.05.2009-23:34 #59505
Converter ile ilgili şöyle bir sorunum var. rich:calendar nesnesini olduğu gibi sql server'a atmam gerekiyo. Tasarımı bozmamak için converter tarzı birşey ile yapmam lazım.

Algoritmada sorun olablilir. timeStamp nesnesini HtmlCalendar'a çevirmem gerekiyo. Burada string'e çevirdiği için sıkıntı oluyor. Çeviride sorun olmasa bile JSF deki diğer butonlar çalışmıyor.beat up.

Veritabanına calendar'dan veri yazma ve okuma ile ilgili elinde kod olan varsa ve gönderirse çok makbule geçerbiggrin.


 <rich:calendar value='#{HR_Person_Bean.table.value["PERS_Birthday"]}'  >
  <f:converter converterId="DateConverter" />
  </rich:calendar>


 <converter>
        <converter-id>DateConverter</converter-id>
        <converter-class>
                   PageBeans.dateConverterBean
        </converter-class>
    </converter>


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package PageBeans;

import java.sql.Date;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import org.richfaces.component.html.HtmlCalendar;

/**
 *
 * @author Burak AMASYALI
 */
public class dateConverterBean implements Converter {

    /** Creates a new instance of dateConverterBean */
    public dateConverterBean() {
    }



    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        String calendarString, date = "";

        if(value == null | value.equals(""))
            return null;

        calendarString = value;

        if (value.length()==12) {
            date += calendarString.substring(8, 12) + "-";
        }else{
             date += calendarString.substring(7, 11) + "-";
        }

        
        String monthString = calendarString.substring(0, 3);

        if (monthString.equals("Jan")) {
            date += "01";
        } else if (monthString.equals("Feb")) {
            date += "02";
        } else if (monthString.equals("Mar")) {
            date += "03";
        } else if (monthString.equals("Apr")) {
            date += "04";
        } else if (monthString.equals("May")) {
            date += "05";
        } else if (monthString.equals("Jun")) {
            date += "06";
        } else if (monthString.equals("Jul")) {
            date += "07";
        } else if (monthString.equals("Aug")) {
            date += "08";
        } else if (monthString.equals("Sep")) {
            date += "09";
        } else if (monthString.equals("Oct")) {
            date += "10";
        } else if (monthString.equals("Nov")) {
            date += "11";
        } else if (monthString.equals("Dec")) {
            date += "12";
        }
        date += "-" + calendarString.substring(4, 6);

        return date;
    }

    public String getAsString(FacesContext context, UIComponent component, Object value) {
        java.sql.Timestamp temp = (java.sql.Timestamp) value;
        String calendarString="";

        HtmlCalendar asd = new HtmlCalendar();


        if(temp.getMonth() == 1){
            calendarString += "Jan ";
        }else  if(temp.getMonth() == 2){
            calendarString += "Feb ";
        }else  if(temp.getMonth() == 3){
            calendarString += "Mar ";
        }else  if(temp.getMonth() == 4){
            calendarString += "Apr ";
        }else  if(temp.getMonth() == 5){
            calendarString += "May ";
        }else  if(temp.getMonth() == 6){
            calendarString += "Jun ";
        }else  if(temp.getMonth() == 7){
            calendarString += "jul ";
        }else  if(temp.getMonth() == 8){
            calendarString += "Aug ";
        }else  if(temp.getMonth() == 9){
            calendarString += "Sep ";
        }else  if(temp.getMonth() == 10){
            calendarString += "Oct ";
        }else  if(temp.getMonth() == 11){
            calendarString += "Nov ";
        }else  if(temp.getMonth() == 12){
            calendarString += "Sep ";
        }
        if (temp.getDate()< 10) {
            calendarString += "0";
        }
        calendarString += temp.getDate();
        calendarString += ", 19";
        calendarString += temp.getYear();
        return calendarString;

        
    }
}








The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
03.05.2009-23:52 #59506
converteri şunu için kullanman lazım

@Name("personTypeConverter")
@BypassInterceptors
@Converter
public class PersonTypeConverter implements javax.faces.convert.Converter{
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
		Integer val=Integer.valueOf(arg2);
		return PersonStatus.lookup(val.intValue());
	}
	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		Integer val=Integer.valueOf(arg2.toString());
		PersonStatus status=PersonStatus.lookup(val.intValue());
		return String.valueOf(status.value());
	}
}

getAsObject sayfadan gelen değeri bean de map ettiğin şeye çevirir.
getAsString beanden gelen değeri sayfada gosterir value olarak.





N/A
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
04.05.2009-00:24 #59508
orhan yazdi
 
converteri şunu için kullanman lazım

@Name("personTypeConverter")
@BypassInterceptors
@Converter
public class PersonTypeConverter implements javax.faces.convert.Converter{
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
		Integer val=Integer.valueOf(arg2);
		return PersonStatus.lookup(val.intValue());
	}
	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		Integer val=Integer.valueOf(arg2.toString());
		PersonStatus status=PersonStatus.lookup(val.intValue());
		return String.valueOf(status.value());
	}
}

getAsObject sayfadan gelen değeri bean de map ettiğin şeye çevirir.
getAsString beanden gelen değeri sayfada gosterir value olarak.


Bir String'i Calendar'a atayında saçmalıyo jsf beat up. Butonlar çalışmıyo sonra. debug yapıyorum o butonların fonksyonları hiç çalıştırılmıyo biled oh





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb