一、内容提要
1.类型转换概述
2.类型转换出错时如何进行处理
转到哪个页面
显示什么错误消息
3.自定义类型转换器
4.类型转换与复杂对象配合使用
二、类型转换概述
从一个HTML表单到一个Action对象,类型转换是从字符串到非字符串http没有"类型"的概念,每一项表单输入只可能是一个字符串或一个字符串数组。在服务器端,必须把String转换为特定的数据类型
在struts2中,把请求参数映射到action属性的工作由Parameters拦截器负责,它是默认的defaultStack拦截器中的一员。Parameters拦截器可以自动完成字符串和基本数据类型之间转换。
类型转换错误
如果类型转换失败:
若Action类没有实现ValidationAware接口:Struts在遇到类型转换错误时仍会继续调用其Action方法,就好像什么都没发生一样。
若Action类实现ValidationAware接口:Struts在遇到类型转换错误时将不会继续调用其Action方法:Struts将检查相关action元素的声明是否包含着一个name=input的result。如果有,Struts将把控制权转交给那个result元素;若没有input结果,Struts将抛出一个异常。
如何能让update方法不再盲目的触发update语句呢?在.hbm.xml文件的class页面设置一个属性select-before-
update="true",通常不要设置