Struts2校验
struts2校验有两种实现方法:
手工编写代码实现(基本验证)
|
//login.jsp <font color="red"><s:fielderror/></font> <s:form action="login"> <s:textfield name="uname" label="user name"></s:textfield> <s:password name="upass" label="pass word"></s:password> <s:submit></s:submit> </s:form> //LoginAction.java里面重写validate方法 //校验失败则返回“input”,校验成功则执行execute方法 public void validate(){ if("".equals(uname)){ this.addFieldError("uname", "user name can not be null!"); } if("".equals(upass)){ this.addFieldError("upass", "pass word can not be null!"); } } //如果针对不同的请求需要不同的验证方法 //比如说请求register和login两个不同的方法 //则对应书写validateRegister()和validateLogin()两个验证方法即可 |
基于XML配置方式实现(验证框架)
手动输入校验,虽然比在Servlet中能方便一点,但是还是出现了大量繁琐的编程代码。Struts2提供了更为高效、简易的校验框架,用户只需设置校验配置文件即可完成输入校验。
主要步骤就是在action同目录下创建一个xml格式的验证文件。
Login.jsp
|
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>login page</title> </head> <body> <s:form action="loginAction"> <s:textfield name="userName" label="用户名"></s:textfield> <s:password name="passWord" label="用户密码"></s:password> <s:submit></s:submit> </s:form> </body> </html> |
Struts.xml
|
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <package name="struts2" extends="struts-default" > <action name="loginAction" class="com.silvan.action.LoginAction"> <result>/index.jsp</result> <result name="input">/login.jsp</result> </action> </package> </struts> |
loginAction.java
|
package com.silvan.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport{ private String userName; private String passWord; public String login(){ return SUCCESS; } Get/set…… } |
LoginAction-validation.xml与对应的Action类放入同一个文件夹下,并且以XxxAction-validation.xml的命名方式:(该xml校验文件的书写模板在xwork-core-2.1.6.jar包下的xwork-validator-1.0.3.dtd中可以查看)
|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <field name="userName"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户名不能为空xml</message> </field-validator> </field> <field name="passWord"> <field-validator type="requiredstring"> <param name="trim">true</param> <message>用户密码不能为空xml</message> </field-validator> </field> </validators> |
可拓展的知识点:
- 正则表达式;
- 实现错误提示信息的国际化。
Struts2校验的更多相关文章
- Struts2 校验
Struts2校验格式: actionName-methodName-invalidation.xml 该配置文件必须和action类在同一个包下. <?xml version="1 ...
- Struts2 校验框架学习笔记
Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更 ...
- struts2校验总结
struts校验框架提供两种校验:客户端校验和服务端校验.它们都是主要检查浏览器输入数据是否合法的校验器. 服务端校验 服务端校验是在服务器上检查输入数据,它的实现方法是重写validate()方法. ...
- struts2 校验数据的有效性 2种方式
Struts2的数据校验: 数据的校验分为客户端校验和服务器端两种: 客户端校验:JS完成的校验.(为了提升用户体验.减少用户的输入错误) 服务器端校验:在后台的校验.(必须的.) 手动编码进行校验: ...
- struts2校验の实现
1.JSP <%@ page contentType="text/html; charset=utf-8" language="java" errorPa ...
- struts2校验器规范错误解决
今天struts2的校验器的配置文件文件头出现了错误,配置如下: <!DOCTYPE validators PUBLIC "-//OpenSymphony Group// ...
- 使用 Struts2 校验器校验用户注册信息
基于验证框架的输入校验 一.创建一个struts2项目testValidators.Struts2 初体验:http://www.cnblogs.com/likailan/p/3280820.html ...
- 使用 Struts2 校验器校验用户注册信息的例子
转自:https://blog.csdn.net/jin2005006/article/details/53999562 基于验证框架的输入校验 一.创建一个struts2项目testValidato ...
- struts2 校验demo
综合练习: <validators> <field name="username"> <field-validator type="requ ...
随机推荐
- Linux USB 驱动开发(一)—— USB设备基础概念【转】
本文转载自:http://blog.csdn.net/zqixiao_09/article/details/50984074 在终端用户看来,USB设备为主机提供了多种多样的附加功能,如文件传输,声音 ...
- 在Android系统中添加宏控制代码【原创】
关键词:Android 宏控制 Androd.mk 平台信息:内核:linux3.4.39 系统:android/android5.1平台:S5P4418 作者:庄泽彬(欢迎转载,请注明作者) 邮 ...
- 【POJ 1703】 Find them,Catch them
[题目链接] http://poj.org/problem?id=1703 [算法] 并查集 + 拆点 [代码] #include <algorithm> #include <bit ...
- Node.js:教程
ylbtech-Node.js:教程 1.返回顶部 1. Node.js 教程 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaS ...
- ridis 集群配置
./redis-cli -h 192.168.106.128 -p 6379 redis 1.ping 2.set str1 abc get str1 3. mkdir ../redis-c ...
- 超级简单的利用javascript实现文件拖拽事件
1.效果图: 2.源码 <%@ page contentType="text/html;charset=UTF-8" language="java" %& ...
- pc端和移动端的轮播图实现(只是结构,内容以后慢慢补充)
轮播图 PC端 移动端 原生js的写法 图片顺序 8123456781 设置计时器 当过度完成之后判断index是否到达两边界限,是的话设置位移 手指touchstart时,获取位置,暂停计时器 手指 ...
- EditPlus修改主题方法
在“EditPlus.exe”或"EditPlus64.exe"所在的目录下找到"editplus_u.ini"文件(如果不存在就新建一个),修改这个文件即可更 ...
- JavaScript实现网页换肤
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- CV/PR:模式识别与图像处理笔试题
汉王高级研究人员(模式识别.图像处理类)招聘试题 原文链接:http://www.cnblogs.com/dongsheng/articles/2793142.html 说明: 可能您的专业并不完 ...