A. 局部类型转换
一般情况下,Action不希望看到原始的数据,相反Action 更乐意使用直接处理好的或者说是已经格式化的可以
直接使用的数据并且是封装在Bean里面的。在这种情况下,我们应该先把页面提交来的数据传递给一个Converter
(通常情况下应继承DefaultTypeConverter),通过Converter 将页面提交过来的数据转换成正确的格式,然后传递给
一个JavaBean,再将这个JavaBean传递给Action。所以Struts数据类型转换模式如下:
1. 编写一个封装了页面信息的javaBean
2. 新建Converter
public class UserConverter extends StrutsTypeConverter
{
public ObjectconvertFromString(Map arg0, String[] arg1, Class arg2)
{
}
public ObjectconvertToString(Map arg0,Object arg1)
{
}
}
其中 第一个方法是将页面传过来的信息转换成javaBean对象 ,而第二个方法是将javabean 对象转换成字符串输出。
3. 在action 包下面新建XXAction-convesion.properties。其中XXAction是要转换的Action的名字。在改文件中写入Action
中成员变量所对应的converter 类 如:user=com.haoge.converter.UserConverter .
B.Struts的全局类型转换
如果说局部类型转换是针对某个action的,那么全局类型转换就是针对特定javabean的。所以全局类型转换的properties文件名不需要以action开头。
1. 在src 下新建文件 xwork-conversion.properties
2. 文件内容如:com.haoge.bean.User=com.haoge.converter.UserConverter.