类型转换中的异常处理及资源国际化_第1页
类型转换中的异常处理及资源国际化_第2页
类型转换中的异常处理及资源国际化_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Struts2的类型转换异常处理在视图页面中,用户的输入是很复杂的,偶然的输入错误或者恶意输入都会导致程序异常。因此,必须对用户输入的数据进行校验。例如,年龄信息必须是整数,一但用户输入了一个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 userAction extends ActionSupportprivate 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)strustxml配置文件代码:index.jsp在这个配置文件中的package包,继承了struts-default.xml文件,而struts-default.xml文件定义了Struts 20内建的拦截器,其中就包括我们上面提到的conversionError拦截器。(3)页面文件index.jsp: 用户注册 为了使程序出现类型转换异常,在用户年龄文本框中输入ABC,然后单击“注册”,使其出现异常。出现了一条英文提示信息,意思是说“年龄字段输入无效”,这条英文提示信息是Struts 20默认的。资源国际化问题(i18n, 即“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知道这个资源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论