- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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文件,然
您可能关注的文档
- 英语套用句型及范文.doc
- 八年级数学培优题.doc
- 南阳市二十一中2011年秋期高三生物第一次月考试题.doc
- 飞翔双语学校艺体组总结.doc
- 八年级上学期期末数学测试卷.doc
- 《9.1压强》周末作业.doc
- 实施合作教学提升数学教学实效.doc
- 电学周练ok.doc
- 6电流和电路.doc
- 01绪论、基础知识.ppt
- 东吴证券-渝水转债:水利行业的新星.pdf
- 华源证券-北交所科技成长产业跟踪第九期:人形机器人高端轴承国产化率存在提升潜力,关注北交所轴承制造企业.pdf
- 华福证券-华福固收-近期城投非标偿还知多少.pdf
- 中邮证券-流动性打分周报:中长久期中低评级城投债流动性下降.pdf
- 国金证券-光伏玻璃行业专题:价格拐点可期、上涨弹性大,底部布局正当时.pdf
- 中信建投-信息技术-通信行业动态:CES“AI硬件”异彩纷呈持续推荐算力板块.pdf
- 中原证券-基础化工行业月报:油价持续上行,丙烯酸产业链整体表现靓丽.pdf
- 信达证券-轻工制造2025年度策略报告:布局低位顺周期,重视稀缺成长.pdf
- 银河证券-计算机行业行业跟踪报告:多地发力工业互联网,打造工业智能高地.pdf
- 华安证券-“打新定期跟踪”系列之二百零二:“低价股”赛分科技上市,首日均价涨幅达到416%.pdf
文档评论(0)