类型转换中的异常处理及资源国际化
3页1、1Struts2 的类型转换异常处理在视图页面中,用户的输入是很复杂的,偶然的输入错误或者恶意输入都会导致程序异 常。因此,必须对用户输入的数据进行校验。例如,年龄信息必须是整数,一但用户输入了 一个 ABC,这时就需要进行数据类型校验。 Struts 20 提供了类型转换异常处理机制,使用的是一个名字为 conversionError 的 拦截器,这个拦截器被注册在默认的拦截器栈中。如果 Struts 20 在类型转换过程中出现 问题,这个拦截器就会进行拦截,并将异常信息封装成一个 fieldError 对象在视图页面上显 示出来。 整个过程无须我们参与,Struts 20 的类型转换器和 conversionError 拦截器会自动 实现。(一)(一)简单类型转换异常简单类型转换异常主要是处理一些 String、int、Date 等数据类型之间的转换异常。见例子“convError”,一个用户注册的功能:(1)Action 的代码: package conv; import com.opensymphony.xwork2.ActionSupport; public class us
2、erAction extends ActionSupport private String name; private int age;public String getName() return name; public void setName(String name) this.name = name; public int getAge() return age; public void setAge(int age) this.age = age; public String addUser() return SUCCESS; 从上述代码中我们可以看到该 Action 仅,包含了 name 和 age 两个属性,其中 age 属性 是 int 类型的。(2)strustxml 配置文件代码:2index.jsp在这个配置文件中的 package 包,继承了 struts-default.xml 文件,而 struts- default.xml 文件定义了 Struts 20 内建的拦截器,其中就包括我们上面提到的 conversionError 拦截器。(3)页面文件 ind
3、ex.jsp:用户注册为了使程序出现类型转换异常,在用户年龄文本框中输入 ABC,然后单击“注册”,使其 出现异常。 出现了一条英文提示信息,意思是说“年龄字段输入无效” ,这条英文提示信息是 Struts 20 默认的。3资源国际化问题(资源国际化问题(i18ni18n, 即即“internationalization”“internationalization”, ,国际化)国际化)在中文环境中,我们通常希望看到中文信息,因此需要修改 Struts 20 默认的英文提 示信息。 新建一个中文资源国际化文件,是一个文本文件,如文件名为“a”,在该文件中添加如 下一条代码: xwork.default.invalid.fieldvalue=所输入数据的类型不符合要求所输入数据的类型不符合要求!用记事本在某处建好 a 文件,然后用“native2ascii”命令把这个源文件转化为中文资 源国际化文件,转化后的资源文件名必须为“globalMessages_zh_CN.properties” 。 Zh 表示中文,CN 表示中国,扩展名 properties 表示资源文件。在 DOS 窗口用转化命令,为: native2ascii encoding gb2312 a globalMessages_zh_CN.properties然后复制文件 globalMessages_zh_CN.properties,再到 MyEclipse 中右击“src”,用“Paste”,把它放在与 struts.xml 同级别位置。最后,在配置文件中添加一个 constant 语句,让 struts 知道这个资源文件,内容为:运行一下,可以看到中文提示信息的效果。见实例“convError” 。如果看到得是乱码提示,可以试试在转换资源文件时,用把 gb2312 替换成 UTF-8
《类型转换中的异常处理及资源国际化》由会员ji****n分享,可在线阅读,更多相关《类型转换中的异常处理及资源国际化》请在金锄头文库上搜索。
2024-04-18 29页
2024-04-18 13页
2024-04-18 14页
2024-04-18 11页
2024-04-18 24页
2024-04-18 22页
2024-04-18 13页
2024-04-18 34页
2024-04-18 32页
2024-04-18 16页