zoukankan      html  css  js  c++  java
  • struts 类型转换器

    类型转换

    (来自尚学堂)

    a)      默认转换

    i.       日期处理

    b)      写自己的转换器:

    public class MyPointConverter extends DefaultTypeConverter{

             @Override

             public Object convertValue(Object value, Class toType) {

                       if(toType == Point.class) {

                                Point p = new Point();

                                String[] strs = (String[])value;

                                String[] xy = strs[0].split(",");

                                p.x = Integer.parseInt(xy[0]);

                                p.y = Integer.parseInt(xy[1]);

                                return p;

                       }

                       if(toType == String.class) {

                                return value.toString();

                       }

                       return super.convertValue(value, toType);

             }

    }

    public class MyPointConverter extends StrutsTypeConverter{

             @Override

             public Object convertFromString(Map context, String[] values, Class toClass) {

                      

                                Point p = new Point();

                                String[] strs = (String[])values;

                                String[] xy = strs[0].split(",");

                                p.x = Integer.parseInt(xy[0]);

                                p.y = Integer.parseInt(xy[1]);

                                return p;

                      

                      

             }

             @Override

             public String convertToString(Map context, Object o) {

                       // TODO Auto-generated method stub

                       return o.toString();

             }

    }

    c)      三种注册方式:

    i.       局部:XXXAction-conversion.properties

    1.      p(属性名称) =  converter

    ii.      全局:xwork-conversion.properties

    1.      com.xxx.XXX(类名)= converter

    iii.     Annotation

    d)      如果遇到非常麻烦的映射转换

    i.       request.setAttribute();

    ii.      session

  • 相关阅读:
    LC 综合 中级算法笔记
    LC 212. 单词搜索2
    [NLP] 2.2 文本正规化 (Text Normalization)
    本地秘钥复制到github,实现两者之间的交互
    Python 实例化对象
    C# 左补齐+ 生成一个星期的日期
    hello world
    迭代器模式、观察者模式
    代理模式、桥接模式、装饰器模式、适配器模式
    外观模式、组合模式、享元模式
  • 原文地址:https://www.cnblogs.com/flying607/p/3473845.html
Copyright © 2011-2022 走看看