Struts2L3类型转换nullby Fred Wangby Fred WangStruts2 Type Conversion本次课程目标本次课程目标类型转换的目的
Struts2对类型转换的默认支持
自定义转换器
类型转换类型转换HTTP只支持String格式,java类在和页面交互时需要把传入输出的参数经过类型转换工作。
和参数绑定一样,是必须但是非业务的“通用”代码默认支持默认支持String
boolean / Boolean
char / Character
int / Integer, float / Float, lo...
nullby Fred Wangby Fred WangStruts2 Type Conversion本次课程目标本次课程目标类型转换的目的
Struts2对类型转换的默认支持
自定义转换器
类型转换类型转换HTTP只支持String格式,java类在和页面交互时需要把传入输出的参数经过类型转换工作。
和参数绑定一样,是必须但是非业务的“通用”代码默认支持默认支持String
boolean / Boolean
char / Character
int / Integer, float / Float, long / Long, double / Double
dates - uses the SHORT format for the Locale associated with the current request
arrays - assuming the individual strings can be coverted to the individual items
collections - if not object type can be determined, it is assumed to be a String and a new ArrayList is created
在页面直接使用OGNL在页面直接使用OGNLUser.name
Users[‘one’].name基于TypeConverter实现类型转换器基于TypeConverter实现类型转换器Public class UserConverter extends DefaultTypeConverter{
public Object convertValue(Map context,Object value,Class toType){
if(toType==User.class){
String[] par = (String[])value;
…
}
}else if(toType==String.class){
User user=(User)value;
}
}
Fred;30;java
通过继承默认实现TypeConverter,通过toType判断方向,返回User或者String基于StrutsTypeConverter实现Public class UserConverter extends StrutsTypeConverter{
Public object convertFromString(){}
Public object convertToString(){}
}
是DefaultTypeConverter的一个实现,只是把转换逻辑拆分成两个基于StrutsTypeConverter实现注册转换器注册转换器局部:
ActionName-conversion.properties
user=xxx.UserConverter
全局:
xwork-conversion.properties
domain.User=xxx.UserConverter
使用集合时配置使用集合时配置ActionName-conversion.properties中:
List:
Element_user=com.domain.User
告知不使用泛型的集合内容物类型
Map:
Key_user=String
Element_user=com.domain.User
Set:
KeyProperty_user=name
类型转换错误:类型转换错误:在资源文件中增加: xwork.default.invalid.fieldvalue={0}字段类型转换失败!
在局部资源文件中增加 invalid.fieldvalue.Attribute=Msgnull
本文档为【Struts2L3类型转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。