首页 > 其他 > 详细

struts2类型转换

时间:2015-12-09 23:22:41      阅读:392      评论:0      收藏:0      [点我收藏+]

url中传递的参数都是字符串,struts2自动进行简单的类型转换,但是当转换成特殊的类型时,struts往往不能很好进行转换。

 

java.util.Date类型:

  可以在actiong的结果jsp中写<s:date name="birthday" format="yyyy-mm-dd"/>

  然后action中定义个Date类型的属性birthday,当访问...action?birthday?birthday=1993-01-01时jsp中的标签就会输出1993-01-01.

 

List类型:

  有时候我们可能需要接受一个参数,这个参数可能有多个值,比如表单中的多选框。这时后台可以用list来接收。

 

Ponit类型:

  这时候需要自定义一个类型转换器:

package cn.orlion.converter;

import java.awt.Point;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class MyPointConverter extends DefaultTypeConverter{
    
    public Object converterValue(Object value , Class toType){
        
        if (Point.class == toType) {
            Point p = new Point();
            String[] str = (String[])value;
            String[] xy = str[0].split(",");
            
            p.x = Integer.parseInt(xy[0]);
            p.y = Integer.parseInt(xy[1]);
            return p;
        }
        
        return super.convertValue(value , toType);
    }
}

下一步就是要绑定到struts2中,如果值绑定给用到的action只需要在该action的包下新建一个文件:DemoAction-conversion.properties,内容为p=cn.orlion.converter.MyPointConverter。其中DemoAction为action的名字(根据实际取名)p为action中定义的Point类型的属性名(private Point p;)cn.orlion.converter.MyPointConverter为转换器类名

 

如果要注册为全局的则需要在src目录下创建一个文件:xwork-conversion.properties内容为:java.awt.Point=cn.orlion.converter.MyPointConverter。

struts2类型转换

原文:http://www.cnblogs.com/orlion/p/5034528.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!