在Strts 2.0中实现表单数据校验(Validation).doc

在Strts 2.0中实现表单数据校验(Validation).doc

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

在Struts 2.0中实现表单数据校验(Validation) All Input Is Evil! -Writing secure code 在写前几篇文章的时候,有些朋友建议我的写一篇关于表单数据校验的文章。 正如文章的开头所引用的《Writing Secure Code》的名言:“所有的输入都是罪恶的”,所以我们应该对所有的外部输入进行校验。而表单是应用程序最简单的入口,对其传进来的数据,我们必须进行校验。 转换与校验(Conversion Validation) 其实上篇文章,我本来是打算写表单数据校验的内容,但是经过再三思考后,还是决定先写Struts 2.0转换器的内容。原因是我认为转换是校验的基础,只有在数据被正确地转换成其对应的类型后,我们才可以对其取值范围进行校验。看个例子相信大家可以更清楚。现在我们就来改造一下《转换器(Converter)——Struts 2.0中的魔术师》的第一个例子。 首先,从Action开始,修改后的代码如下: package tutorial; import java.util.Locale; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.util.LocalizedTextUtil; public class HelloWorld extends ActionSupport { ? ? private String msg; ? ? private Locale loc = Locale.US; ? ? ? ? public String getMsg() { ? ? ? ? return msg; ? ? ? ? ? ?} ? ? ? ? public Locale getLoc() { ? ? ? ? return loc; ? ?} ? ? ? ? public void setLoc(Locale loc) { ? ? ? ? this .loc = loc; ? ?} ? ? ? ?@Override ? ? public void validate() { ? ? ? ?System.out.println( Calling validate() ); ? ? ? ? if ( ! (loc.equals(Locale.US) || loc.equals(Locale.CHINA))) { ? ? ? ? ? ? ? ? ? ?addFieldError( loc , getText( validation.loc )); ? ? ? ?} ? ?} ? ? ? ? ? ? public void validateExecute() { ? ? ? ?System.out.println( Calling validateExecute() by reflection ); ? ?} ? ? ? ?@Override ? ? public String execute() { ? ? ? ?System.out.println( Calling execute() ); ? ? ? ? // LocalizedTextUtil是Struts 2.0中国际化的工具类,s:text标志就是通过调用它实现国际化的 ?? ?? ? ? ?msg = LocalizedTextUtil.findDefaultText( HelloWorld , loc); ? ? ? ? return SUCCESS; ? ?} } 然后,修改Struts.xml中Action的定义指明输入地址: action name =HelloWorld class =tutorial.HelloWorld ? ? result /HelloWorld.jsp / result ? ? result name =input /HelloWorld.jsp / result / action 接着,在HelloWorld.jsp中加入错误提示: % @ page ?contentType = text/html; charset=UTF-8 % % @taglib prefix = s uri = /struts-tags % html head ? ? title Hello World / title / head body ? ? div style =color:red; ? ? ? ? s:fielderror / ? ? / div ? ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档