网上关于struts2 使用Validation框架进行数据验证的例子很多 这里不一一解释每个文件每行代码是什么意思了
主要说一下自己遇到的问题,和以后要注意的情况
1.基于xml文件的配置信息,命名规范需要按照 对应“action的类名-validation”的形式,而非struts.xml中action标签的name属性值
若你的类名叫NewValidateAction,那你的验证文件文件名就是:NewValidateAction-validation.xml
2.文件名必须放在与该类同意目录下才可识别
3.NewValidateAction-validation.xml中的<field>标签,对应的是jsp中要传入的属性元素
4.<field-validator type="requiredstring">类型的意思是,现举几个常用的例子
<validators>
<field name="user.userName">
<!-- 验证字符串不能为空 -->
<field-validator type="requiredstring">
<!-- 去空格 -->
<param name="trim">true</param>
<!-- 错误提示信息 -->
<message>用户名不能为空</message>
</field-validator>
<!-- 验证字符串长度 -->
<field-validator type="stringlength">
<param name="minLength">2</param>
<param name="maxLength">20</param>
<message>用户名长度应在2到18个字符间</message>
</field-validator>
</field>
<field name="user.password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>密码不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">18</param>
<message>密码长度应在6到18个字符之间</message>
</field-validator>
</field>
<field name="user.age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">150</param>
<message>年龄应在1到150之间</message>
</field-validator>
</field>
<!-- 验证字符串为日期类型 -->
<field name="user.birthday">
<field-validator type="date">
<param name="min">1900-01-01</param>
<param name="max">2008-10-16</param>
<message>出生日期应在1900-01-01到2008-10-16</message>
</field-validator>
</field>
</validators>
结构图如下
所用到的struts2.3.4的11个jar包
附源码
NewValidateAction.java
package action;
import com.opensymphony.xwork2.ActionSupport;
public class NewValidateAction extends ActionSupport {
private String msg; // 必须输入
private int age; // 在13和20之间
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
NewValidateAction-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="msg">
<field-validator type="requiredstring">
<message>请输入信息</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">13</param>
<param name="max">20</param>
<message>必须在13至20之间</message>
</field-validator>
</field>
</validators>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="demo" extends="struts-default" namespace="/test">
<action name="new_validate" class="action.NewValidateAction">
<result name="input">/validate_form.jsp</result>
<result name="success">/validate_form.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
validate_form.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>验证数据</title>
</head>
<body>
<s:form action="new_validate" namespace="/test">
<s:textfield name="msg" label="姓名" />
<s:textfield name="age" label="年龄" />
<s:submit />
</s:form>
</body>
</html>
- 大小: 22.5 KB
- 大小: 22.9 KB
分享到:
相关推荐
Struts2中Validation数据验证框架教程 struts2中validation框架_前台验证 struts2中validation框架_后台验证
NULL 博文链接:https://takeme.iteye.com/blog/1663251
编制一个注册模块,使用validation框架来实现校验,至少使用4种以上的校验规则。
Struts2 验证框架 validation.xml 常用的验证规则
struts验证框架-validation的验证框架
从http://wiki.javascud.org/display/ww2cndoc/Valida<br>tion 网站上收集的一些关于有关Struts2验证框架的资料,并将其做成电子书以方便查看,另外向朋友们推荐一个很好的学习Struts2的博客...相信对正在学习Struts2的...
在struts2里,完成登录页面,使用框架进行数据校验,用户名必填,密码必填且长度大于6。
struts的validation验证框架源码!
Struts1.2中的validation验证框架的实现步骤
Struts2框架验证_validation_常见类型验证模板(包含字段和非字段方式)
Struts2验证框架的配置及validation.xml常用的验证规则
struts2的验证框架的示例代码,快速学习和使用struts2验证框架
struts2 验证框架,彻底简化判断页面传递过来的参数,必学内容
Struts的验证框架Validate使用
Struts validation 验证框架配置,简单易懂,一看就会
数据验证:HTML5 的原生验证模式、Struts2 的 Validation 验证框架以及 Interceptor 拦截器、JavaEE 的 Filter 过滤器 学生端(修改个人信息、修改密码、查看成绩) 教师端(成绩查看与修改、录入成绩、所教科目管理...
主要介绍了struts2 validation.xml 验证规则代码解析,具有一定借鉴价值,需要的朋友可以参考下