zoukankan      html  css  js  c++  java
  • struts2 之 struts2类型转换

    1. 在struts2中,相比servlet来时,获取数据时,程序员没有进行手动的类型转换,类型转换工作都有struts2来完成处理,但对于自定义类型数据,struts2不会帮助我们完成类型转换工作。这个时候就需要程序员来完成类型转换。

    2. 实现自定义类型转换器的步骤:

      (a). 定义一个类型转换器,该类继承StrusTypeConverter

    public class PointConverter extends StrutsTypeConverter{
    
        /**
         * 从字符串转换为指定的类型
         * context 表示ActionContext
         * values 要被转换的字符串
         * toClass 要被转换的类型
         */
        @Override
        public Object convertFromString(Map context, String[] values, Class toClass) {
            String value=values[0];
            int x = Integer.parseInt(value.substring(1,value.indexOf(",")));
            int y = Integer.parseInt(value.substring(value.indexOf(",")+1,value.length()-1));
            Point p = new Point();
            p.setX(x);
            p.setY(y);
            return p;
        }
        /**
         * 使用ognl表达式将调用该方法
         * 将指定的对象转换为字符串
         * context actionContext
         * o  要转换的对象
         */
        @Override
        public String convertToString(Map context, Object o) {
            Point p = (Point)o;
            return "("+p.getX()+","+p.getY()+")";
        }
    }

    (b).添加全局配置文件xwork-conversion.properties放在src下:

    #converted class=converter
    cn.sxt.vo.Point = cn.sxt.converter.PointConverter
  • 相关阅读:
    ubuntu 更新软件
    如何在linux(lubuntu)下搭建C/C++开发环境
    Linux下如何查看版本信息
    知识点笔记
    Require.js中使用jQuery 插件
    async中常用总结
    node.js在遇到“循环+异步”时的注意事项
    前端性能优化
    生产/消费者问题
    线程与内存
  • 原文地址:https://www.cnblogs.com/forever2h/p/6726446.html
Copyright © 2011-2022 走看看