隨筆-112  評論-73  文章-0  trackbacks-0

          JSF2.0 日期轉換

          Jsf RI 包提供默認的日期轉換器 <f: convertDateTime /> 但在使用時發現從數據讀出數據顯示的時候會少一天,比如:數據庫中的日期是2010-4-24 在經過轉換器前還是這個日期,但轉換后顯示到界面上時就會顯示2010-4-23 ,無論設置格式還是時區都無效。

          既然不好用就自定義一個轉換器,好在JSF2.0 自定義轉換器也非常的方便了

          整個代碼如下:

          import java.text.ParseException;
          import java.util.Date;

          import javax.faces.component.UIComponent;
          import javax.faces.context.FacesContext;
          import javax.faces.convert.Converter;
          import javax.faces.convert.FacesConverter;

          import cn.xiangyunsoft.utils.DateUtils;
          import cn.xiangyunsoft.utils.StringUtils;

          @FacesConverter(value 
          = "dateConverter")
          public class ConvertDate implements Converter {

              
          public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
                  
          if (StringUtils.isNotEmpty(arg2)) {
                      
          try {
                          
          return DateUtils.parseDate(arg2);
                      } 
          catch (ParseException e) {
                          e.printStackTrace();
                      }
                  }
                  
          return null;
              }

              
          public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
                  
          if (arg2!=null){
                      
          return DateUtils.format((Date) arg2, "yyyy-MM-dd");
                  }
                  
          return null;
              }

          }

          其中DateUtils 類就是常用的日期和字符串的轉換方法。

          XHTML 使用時如下:

          <h:inputText id="#{cc.attrs.id}" value="#{cc.attrs.value}"
                  onkeydown
          ="ctlent(event);" styleClass="#{cc.attrs.styleClass}">
                  
          <!--<f:convertDateTime pattern="yyyy-MM-dd" locale="zh-CN"/>-->
                  
          <f:converter converterId="dateConverter" />
              
          </h:inputText>



          posted on 2010-04-24 15:05 Libo 閱讀(1370) 評論(1)  編輯  收藏 所屬分類: JSF 2

          評論:
          # re: JSF2.0 Converter[未登錄] 2013-04-30 07:30 |
          能不能發一下DateUtils.java
          StringUtils.java 代碼啊

            回復  更多評論
            
          主站蜘蛛池模板: 枞阳县| 来凤县| 永寿县| 鞍山市| 镇巴县| 绥宁县| 嘉峪关市| 虎林市| 清原| 灵台县| 乌拉特前旗| 康平县| 沭阳县| 海盐县| 夹江县| 乐昌市| 西昌市| 孝感市| 开封县| 米易县| 安龙县| 鄱阳县| 全椒县| 陕西省| 衡阳市| 余江县| 富民县| 汤原县| 科尔| 丹阳市| 凤凰县| 东光县| 福鼎市| 金阳县| 涿州市| 容城县| 稷山县| 平陆县| 探索| 永平县| 柳州市|