struts中简单的校验
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中简单的校验的更多相关文章
- struts中的数据校验
1.struts中如何进行数据校验 在每一个Action类中,数据校验一般都写在业务方法中,比如login().register()等.struts提供了数据校验功能.每个继承自ActionSuppo ...
- struts中的常量,action配置中的默认值
1.struts中Action的开发方式 继承ActionSupport类,这种方法实现的Action可以进行数据校验: 实现Action接口: 不继承任何类,不实现任何接口: 是否继承类或实现接口, ...
- Struts 2的数据校验
既然说到了Struts 2的数据校验,我们该怎么去实现呢?又是通过什么来实现呢? 就让我带着大家一起来走进Struts 2的数据校验吧. 首先我们会想到在Stuts 2的登录案例中我们定义了一个Act ...
- Struts中的 saveToken的方法
Struts中的 saveToken的方法 saveToken防止2次提交的问题 struts有自带的Token(令牌)的机制来解决重复提交(包括后退,刷新等).举例: 假设:假设有一个新增用 ...
- Struts2中validate数据校验的两种常用方法
本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器. 1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...
- 在Apache Struts中利用OGNL注入
前言 本文简要介绍了Apache Struts的OGNL注入缺陷,文章中介绍使用简单的应用程序复现OGNL注入.深入研究针对公共漏洞,并理解这类漏洞. 内容 安装Apache Tomcat服务器(入门 ...
- 转载-struts中logic标签使用
Struts中Logic逻辑标签的作用及用法 Struts中Logic逻辑标签的作用及用法 2006年10月18日 星期三 21:34 Terry原创,转载请说明作者及出处 Logic标签大部分的功能 ...
- 【SpringMVC学习06】SpringMVC中的数据校验
这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的校验,比如页面中js校验,对于安全要求较高的建议在服务端也要进行校验.服务端校验可以是在控制层conroller, ...
- Struts 2简单实例
Struts 2简单实例 参考: [java开发系列]—— struts2简单入门示例 - xingoo - 博客园https://www.cnblogs.com/xing901022/p/39616 ...
随机推荐
- C# 利用file打印日志
public class FaceLog { public static void AppendInfoLog(string errMsg) { try { string Folder = Main. ...
- 使用Open Live Writer 的代码高亮插件体验
由于windows live writer 2012 已经停止服务,转而推出开源项目Open Live Writer .虽然Open Live Writer 也没怎么更新,官网更是一个插件都没有放出来 ...
- cvReleaseImage()函数说明
IplImage *tmp = NULL; 这一句话定义了一个IplImage类型的指针变量tmp,这个指针变量在内存中的示意图为: tmp = cvLoadImage(file_path); 这句话 ...
- jQuery无缝滚动向上
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- php or || 和 and &&
追溯代码时遇到这个坑,一直是略有懵懂,那就填了这个坑. 1 if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.' ...
- 预定义异常 - PHP手册笔记
Exception是所有异常的基类,类摘要如下: <?php class Exception { protected string $message; // 异常消息内容 protected i ...
- 在mysql 中两种锁定问题
mysql 中15.2.10.5 中描述了两个问题,且分别给出了解决办法. 1.向子表中写入数据,但写入之前需确保父表中存在其相应信息. 可能出现,在已经读取父表中的数据,但另一请求将其删除. 办法: ...
- 01UITextField基础知识
文字属性 文字属性包括:text; placeholder(默认使用70%灰色):font:textColor;textAligment. 文字大小 文字大小包括:adjustsFontSizeToF ...
- Oracle EBS-SQL (PO-6):检查订单接收总数.sql
SELECT sum(rcvt.quantity) 接收事务处理汇总数--已排除退货 --rsh.receipt_num 收据号, --pov.vendor_nam ...
- 安装 Archlinux 小记
故事的背景 开始的时候装的 win8 + ubuntu 双系统,但是慢慢感觉只要有 windows 存在,在 Linux 上遇到问题了就想逃回去. 在一次 GDG 的演讲中听到的: 趁现在还年轻,还有 ...