网站大量收购闲置独家精品文档,联系QQ:2885784924

类型转换中的异常处理及资源国际化.doc

类型转换中的异常处理及资源国际化.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类型转换中的异常处理及资源国际化

Struts2的类型转换异常处理 在视图页面中,用户的输入是很复杂的,偶然的输入错误或者恶意输入都会导致程序异常。因此,必须对用户输入的数据进行校验。例如,年龄信息必须是整数,一但用户输入了一个ABC,这时就需要进行数据类型校验。 Struts 2.0提供了类型转换异常处理机制,使用的是一个名字为conversionError的拦截器,这个拦截器被注册在默认的拦截器栈中。如果Struts 2.0在类型转换过程中出现问题,这个拦截器就会进行拦截,并将异常信息封装成一个fieldError对象在视图页面上显示出来。 整个过程无须我们参与,Struts 2.0的类型转换器和conversionError拦截器会自动实现。 简单类型转换异常 主要是处理一些String、int、Date等数据类型之间的转换异常。 见例子“convError”,一个用户注册的功能: (1)Action的代码: package conv; import com.opensymphony.xwork2.ActionSupport; public class userAction extends ActionSupport { private String name; private int age; public String getName() { return name; } public void setName(String 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)strust.xml配置文件代码: ?xml version=1.0 encoding=UTF-8? !DOCTYPE struts PUBLIC -//Apache Software Foundation//DTD Struts Configuration 2.0//EN /dtds/struts-2.0.dtd struts constant name=struts.enable.DynamicMethodInvocation value=false / constant name=struts.devMode value=false / package name=Struts2.0_AddBook extends=struts-default action name=addUser class=conv.userAction method=addUser result name=inputindex.jsp/result /action /package /struts 在这个配置文件中的package包,继承了struts-default.xml文件,而struts-default.xml文件定义了Struts 2.0内建的拦截器,其中就包括我们上面提到的conversionError拦截器。 (3)页面文件index.jsp: %@page language=java pageEncoding=UTF-8% %@ taglib prefix=s uri=/struts-tags% html s:head/ body brbr center br h2用户注册/h2 s:form action=addUser method=addUser s:textfield name=name label=用户名称/ s:textfield name=age label=用户年龄/ s:submit value=注册/ /s:form /center /body /html”,使其出现异常。 出现了一条英文提示信息,意思是说“年龄字段输入无效”,这条英文提示信息是Struts 2.0默认的。 资源国际化问题(i18n, 即“internationalization”,国际化) 在中文环境中,我们通常希望看到中文信息,因此需要修改Struts 2.0默认的英文提示信息。 新建一个中文资源国际化文件,是一个文本文件,如文件名为“a”,在该文件中添加如下一条代码: xwork.default.invalid.fieldvalue=所输入数据的类型不符合要求! 用记事本在某处建好a文件,然

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档