- Struts 2.x权威指南
- 李刚编著
- 371字
- 2022-07-20 11:12:01
4.6 类型转换中的错误处理
表现层数据是由用户输入的,用户输入则是非常复杂的,正常用户的偶然错误,还有恶意Cracker(破坏者)的恶意输入,都可能导致系统出现非正常情况。例如,在图4.5所示的输入页面中,我们希望用户输入crazyit,leegang模式的字符串,希望用户输入的字符串包含一个英文逗号(,)作为用户名和密码的分隔符,如果用户输入多于一个的英文逗号,或者没有输入英文逗号,都将引起系统异常——因为上面的类型转换器将无法正常分解出用户名和密码。
实际上,表现层数据涉及的两个处理:数据校验和类型转换是紧密相关的,只有当输入数据是有效数据时,系统才可以进行有效的类型转换——当然,有时候即使用户输入的数据能进行有效转换,但依然是非法数据(假设需要输入一个人的年龄,输入200则肯定是非法数据)。因此,可以进行有效的类型转换是基础,只有当数据完成了有效的类型转换后,下一步才去做数据校验。