Loading...

          java .net

          開始學習struts2(四)

          關于類型轉換還有一種寫法:
          public class ConverterPoint extends StrutsTypeConverter {

          //    @Override
          //    public Object convertValue(Map context, Object value, Class toType) {
          //        if(Point.class == toType){
          //            String[] params = (String[])value;
          //            params = params[0].split(",");
          //            Point point = new Point();
          //            point.setX(Integer.parseInt(params[0]));
          //            point.setY(Integer.parseInt(params[1]));
          //            return point;
          //           
          //        }else if(String.class == toType){
          //            Point point = (Point)value;
          //            return "x=" + point.getX() + ",y=" + point.getY();
          //        }
          //        return super.convertValue(context, value, toType);
          //    }

              @Override
              public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
                  String[] params = arg1;//(String[])value;
                  params = params[0].split(",");
                  Point point = new Point();
                  point.setX(Integer.parseInt(params[0]));
                  point.setY(Integer.parseInt(params[1]));
                  return point;
              }

              @Override
              public String convertToString(Map arg0, Object arg1) {
                  Point point = (Point)arg1;
                  return "x=" + point.getX() + ",y=" + point.getY();
              }

             
          }

          原來是繼承ognl.DefaultTypeConverter類,現在改成繼承org.apache.struts2.util.StrutsTypeConverter類了,看org.apache.struts2.util.StrutsTypeConverter的源碼可知道org.apache.struts2.util.StrutsTypeConverter是個抽象類,并實現了ognl.TypeConverter,org.apache.struts2.util.StrutsTypeConverter中有兩個要實現的方法一個convertFromString,一個convertToString,看方法名字就知道一個從字符串轉換成Object,一個是將Object轉換成String,這樣好像更加清晰

          另外還有一種全局轉換的配置,就是建立一個統一的屬性文件,文件名為xwork-conversion.properties,與struts.xml位于統一目錄下,里面的配置改成了
          com.test.struts2.data.Point=com.test.struts2.action.ConverterPoint
          意思是所有com.test.struts2.data.Point類型的對象都要通過com.test.struts2.action.ConverterPoint來轉換

          posted on 2009-01-08 13:30 閱讀(284) 評論(0)  編輯  收藏 所屬分類: 學習java

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿坝县| 台中县| 延庆县| 马鞍山市| 普宁市| 噶尔县| 安泽县| 新干县| 西林县| 偃师市| 隆安县| 永泰县| 白城市| 手游| 峨山| 揭西县| 莲花县| 余姚市| 达日县| 西峡县| 斗六市| 昭平县| 玉环县| 柞水县| 无锡市| 班戈县| 阿鲁科尔沁旗| 大竹县| 河北区| 建宁县| 盐亭县| 紫阳县| 黄骅市| 营口市| 新沂市| 盘山县| 平顺县| 大田县| 海阳市| 嘉善县| 黑山县|