Struts中简单的校验

“计应134(实验班) 凌豪”

Struts2校验简要说明:struts2中通常情况下,类型转换要在数据校验之前进行。类型转换其实也是基本的服务器端校验,合法数据必然可以通过类

型转换,但是通过类型转换的不一定是符合项目的合法数据,还必须进行数据校验,所以类型转换是进行数据校验的前提。

比如:struts2可以将String类型的转为int类型,要求用户输入年龄(小于10岁),如果用户输入的不是一个整型而是一个字符

串,或者用户输入的年龄不符合要求,所以在转换之后必须执行校验操作。在Struts2中提供了3种输入校验方式,第一种是重写Action中的validate()方法,

此方法对当前Action中的所有方法都是有效的。第二种是重写Action中的validateXXX()方法,其中XXX是对应的方法名,采用这种方法可以为每个业务逻辑编写

一个校验代码。第三种方法是利用Struts2的校验框架,这种方法是将所有的校验规则都写在相应的XML文件中,其中下面的例子则是用了第三种方法。

  • 注意:校验文件的命名规则为Action类名-validation.xml,例如在下面的例子中RegisAction类对应的校验文件名为

RegistAction-validation.xml且校验文件必须与要检验的Action类放在同一个包中。

Register例子

1.创建一个新的Web项目register(File->new->Web Project)

2.添加struts2框架(右击项目register->add struts cabapbilities)

选择struts 2.1点击Finish

3.配置web.xml(web.xml是Web应用项目的核心配置文件,用来对整个项目进行部署配置。

对于struts2而言,如果要加载控制器FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可)

4.在src下建一个com包,在包中新建名为RegisAction的class(即业务逻辑层action)RegisAction需继承ActionSupport

5.配置校验文件RegistAction-validation.xml(校验文件的命名规则是Action类名-validation.xml

如上面的RegisAction类对应的校验文件名为RegistAction-validation.xml且校验文件必须与要检验的Action类放在同一个包中)

6.配置struts.xml

7.新建regist.jsp

8.在浏览器中输入http://localhost:8080/register/(有的端口号为8085根据自身情况进行更改)

struts中简单的校验的更多相关文章

  1. struts中的数据校验

    1.struts中如何进行数据校验 在每一个Action类中,数据校验一般都写在业务方法中,比如login().register()等.struts提供了数据校验功能.每个继承自ActionSuppo ...

  2. struts中的常量,action配置中的默认值

    1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现接口, ...

  3. Struts 2的数据校验

    既然说到了Struts 2的数据校验,我们该怎么去实现呢?又是通过什么来实现呢? 就让我带着大家一起来走进Struts 2的数据校验吧. 首先我们会想到在Stuts 2的登录案例中我们定义了一个Act ...

  4. Struts中的 saveToken的方法

    Struts中的 saveToken的方法     saveToken防止2次提交的问题 struts有自带的Token(令牌)的机制来解决重复提交(包括后退,刷新等).举例: 假设:假设有一个新增用 ...

  5. Struts2中validate数据校验的两种常用方法

    本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器.  1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...

  6. 在Apache Struts中利用OGNL注入

    前言 本文简要介绍了Apache Struts的OGNL注入缺陷,文章中介绍使用简单的应用程序复现OGNL注入.深入研究针对公共漏洞,并理解这类漏洞. 内容 安装Apache Tomcat服务器(入门 ...

  7. 转载-struts中logic标签使用

    Struts中Logic逻辑标签的作用及用法 Struts中Logic逻辑标签的作用及用法 2006年10月18日 星期三 21:34 Terry原创,转载请说明作者及出处 Logic标签大部分的功能 ...

  8. 【SpringMVC学习06】SpringMVC中的数据校验

    这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的校验,比如页面中js校验,对于安全要求较高的建议在服务端也要进行校验.服务端校验可以是在控制层conroller, ...

  9. Struts 2简单实例

    Struts 2简单实例 参考: [java开发系列]—— struts2简单入门示例 - xingoo - 博客园https://www.cnblogs.com/xing901022/p/39616 ...

随机推荐

  1. C# 利用file打印日志

    public class FaceLog { public static void AppendInfoLog(string errMsg) { try { string Folder = Main. ...

  2. 使用Open Live Writer 的代码高亮插件体验

    由于windows live writer 2012 已经停止服务,转而推出开源项目Open Live Writer .虽然Open Live Writer 也没怎么更新,官网更是一个插件都没有放出来 ...

  3. cvReleaseImage()函数说明

    IplImage *tmp = NULL; 这一句话定义了一个IplImage类型的指针变量tmp,这个指针变量在内存中的示意图为: tmp = cvLoadImage(file_path); 这句话 ...

  4. jQuery无缝滚动向上

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. php or || 和 and &&

    追溯代码时遇到这个坑,一直是略有懵懂,那就填了这个坑. 1 if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.' ...

  6. 预定义异常 - PHP手册笔记

    Exception是所有异常的基类,类摘要如下: <?php class Exception { protected string $message; // 异常消息内容 protected i ...

  7. 在mysql 中两种锁定问题

    mysql 中15.2.10.5 中描述了两个问题,且分别给出了解决办法. 1.向子表中写入数据,但写入之前需确保父表中存在其相应信息. 可能出现,在已经读取父表中的数据,但另一请求将其删除. 办法: ...

  8. 01UITextField基础知识

    文字属性 文字属性包括:text; placeholder(默认使用70%灰色):font:textColor;textAligment. 文字大小 文字大小包括:adjustsFontSizeToF ...

  9. Oracle EBS-SQL (PO-6):检查订单接收总数.sql

    SELECT sum(rcvt.quantity) 接收事务处理汇总数--已排除退货 --rsh.receipt_num                   收据号, --pov.vendor_nam ...

  10. 安装 Archlinux 小记

    故事的背景 开始的时候装的 win8 + ubuntu 双系统,但是慢慢感觉只要有 windows 存在,在 Linux 上遇到问题了就想逃回去. 在一次 GDG 的演讲中听到的: 趁现在还年轻,还有 ...