Struts2校验方法及流程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2校验方法及流程

Struts2校验流程 概要 Struts2 对数据校验一般可以发分成两部分:一是验证用户输入数据的有效性,二是在用户输入无效数据后向用户提示错误信息。 在struts2框架中,对用户输入数据的校验方式分为客户端与服务器端校验,通常情况下需要这两种校验紧密结合,互相协作。 客户端校验一般采用JavaScript脚本实现。 服务器端校验需要struts2框架自带的一些校验方法。 我介绍的是其中两种:使用validate()和validateXxxx()方法进行输入校验(服务器端校验)。 二.步骤 使用validate()方法校验 在自己的项目中创建JSP文件 例:addUser.jsp,在该文件中创建添加联系人的form表单,主要内容如下图1所示: 图1 ①.s:fielderror/fielderror该语句用来输出表单域filederror中的提示错误信息 ②.用这样的标签时需要写如下代码: %@taglib prefix=s uri=/struts-tags % 2.在action文件夹下,创建一个Action类 AddUserAction.java 该类继承ActionSupport ActionSupport类的引用路径是:import com.opensymphony.xwork2.ActionSupport 在AddUserAction类中重写ActionSupport类的validate()方法。 具体代码如下: 图2 ①.如果姓名不符合要求,提示错误信息 ②.上述Action类,重写validate()方法,并将对用户提交信息的判断都放在该方法中,使得execute()方法专注于逻辑处理 3.在struts配置文件中配置Action,代码如下: 图3 ①.上述代码配置AddUserAction类,其中input字符串指向addUser.jsp视图,success字符指向success.jsp视图。 4.最后创建显示信息页面 success.jsp 主要内容如下: 图4 5.提示: ①.Struts2框架执行Action类时,会在调用execute()方法之前调用该Action类的 validate()方法。 ②.在validate()方法中,如果系统发现有不合法输入时,调用其父类的addFieldError()方法记录一个fieldError错误,当流程进入到execute()方法之前,系统检查有没有fieldError,如果有,则不再执行execute()方法,而是返回一个input逻辑视图。 ③.validate()方法执行对execute()方法的校验。 ValidateXxxx()方法输入校验 前言: 正如上面提示所说,validate()方法执行对execute()方法的校验,但是在Struts2框架中,Action可以包含多个逻辑处理方法,也就是可以包含多个类似execute()方法,只是方法名不同,那么需要对这些逻辑处理方法进行检验该怎么办呢?不必着急,struts2框架在Action中提供了 ValidateXxxx()方法,专门校验xxx()这个逻辑处理方法。对于我的认识我向大家介绍一下这个方法。 步骤: 创建jsp页面,有两个页面(一个是添加页面addUser.jsp另一个是显示页面success.jsp)页面代码参照上面图1、图4所示。 编写Action类。 只需将上面图2所示的代码稍微改动一下就可以,具体代码如下: 将默认的execute()方法改成add()方法去掉@Override字样 将validate()方法改成validateAdd()方法去掉@Override字样 三、编写struts配置文件,只需将上面图3所示的代码稍作改动。具体代码如下 ①由于这里对add()方法进行校验,所以在配置Action时,需要指定其method属性为add让系统执行该Action时调用add()逻辑处理方法。 提示: ValidateXxxx()方法专门校验xxx()方法。 如果validate()方法和validateXxxx()方法同时存在,运行时都被调用,并且都起到校验作用。其实不论请求Action的哪一个处理逻辑,validate()方法总会起到校验作用。 如果请求的Action中对应的validateXxxx()校验方法,那么该校验

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档