马士兵struts2视频教程第八十、八十一、八十二集

来源:互联网 发布:淘宝专柜国内代购真相 编辑:程序博客网 时间:2024/04/29 12:03

struts转换:把字符串转成特定类型,把特定类型转成字符串

后台向前台页面传递值,jsp显示的时候会转换类型

简单类型转换,直接在action中定义,然后get/set即可

复杂类型转换:自定义类型转换器

首先定义一个class,继承DefaultTypeConverter类(实现了TypeConverter接口),然后重写里面的convertValue方法,两个参数Object value(需要转换的值),Class toType(需要转换的类型),返回转换结果(如果处理不了,return super.convertValue(value, toType)交给父类处理)

然后注册到struts2里面,才可以使用。有三种注册方式:

1、注册给action:action名字-conversion.properties  必须和action放在一个包内

里面定义action里面定义的名字 = 对应转换器的类 (遇到某个名字不能转换,交给对应的类转换)

2、全局转换器:xwork-conversion.properties

里面内容同上

3、注解

如果是List<自定义类>这种类型,则在转换器的properties就不能写变量名,需要写类名 = 对应的转换器

还有一种写法就是继承StrutsTypeConverter,convertFromString和convertToString,之前的DefaultTypeConverter是在一个方法里做两种转换,StrutsTypeConverter做了扩展,

是从DefaultTypeConverter做的继承并做了扩展,convertFromString是从字符串转化成目标类型,convertToString是把目标类型转化成字符串

如果遇到很复杂的,用request.setAttribute或session传值


0 0