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
  • 相关阅读:
    [解题报告]256 Quirksome Squares
    [解题报告]369 Combinations
    [解题报告]10696 f91
    [解题报告]483 Word Scramble
    [解题报告]10041 Vito's Family
    [解题报告]686 Goldbach's Conjecture (II)
    [解题报告]151 Power Crisis
    [解题报告]10079 Pizza Cutting
    [解题报告]495 Fibonacci Freeze
    [解题报告]541 Error Correction
  • 原文地址:https://www.cnblogs.com/forever2h/p/6726446.html
Copyright © 2011-2022 走看看