`
josico
  • 浏览: 44102 次
社区版块
存档分类
最新评论

struts2 使用Validation框架进行数据验证

阅读更多

 网上关于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
3
6
分享到:
评论
1 楼 王小蛙 2012-07-16  
楼主说的好啊 顶啊 

相关推荐

    Struts2 使用Validation框架验证数据(三十七)

    本篇文章将详细探讨Struts2如何使用Validation框架进行数据验证。 一、Struts2 Validation框架概述 Struts2的Validation框架是用于处理用户输入验证的一种机制。它允许开发者定义验证规则,这些规则会在用户提交...

    Struts2中Validation数据验证框架教程

    这些方法可以对用户输入的数据进行检查,如非空验证、长度限制、格式校验等。如果验证失败,框架会将错误信息添加到ActionContext中,然后这些错误信息可以在JSP页面上展示给用户。 在Struts2 XML配置文件中,`...

    关于Struts2与Validation框架使用中的问题

    在Struts2中集成Validation框架,可以实现更加健壮和一致的用户输入验证。 Struts2的核心是Action类,它是处理请求和业务逻辑的中心。每个Action都可以关联一个或者多个结果,根据不同的执行逻辑跳转到不同的页面。...

    Struts使用validation框架来实现校验,4种以上的校验规则

    使用Struts的Validation框架,我们可以轻松地实现这些校验规则。以下是对四种常见校验规则的详细解释: 1. **非空验证**:这是最基本的校验规则,确保用户没有遗漏必填字段。在ActionForm类中,可以使用`@Required...

    struts2验证框架

    3. 高效性:Struts2 验证框架提供了高效的验证机制,可以快速地对用户输入的数据进行验证,从而提高应用程序的性能。 Struts2 验证框架的应用 Struts2 验证框架广泛应用于各种基于 Java 的 Web 应用程序,包括: ...

    Struts Validation框架浅尝

    通过上述步骤,我们已经了解了如何使用Struts Validation框架来实现表单验证。这不仅提高了应用程序的质量,还提升了用户体验。对于复杂的验证需求,还可以通过自定义验证器来扩展框架的功能。总的来说,Struts ...

    Struts2_Validation

    综上所述,"Struts2_Validation"文件包很可能是围绕如何在Struts2中进行有效数据验证这一主题展开的,包括如何配置Validation.xml,编写验证规则,处理验证错误,以及如何结合其他Struts2特性进行更复杂的验证操作。...

    struts的validation验证框架源码

    - Struts 2中,Validation框架被更强大的Struts 2拦截器机制取代,提供了更灵活的验证方式和更丰富的功能。 深入研究Struts的Validation框架源码可以帮助开发者理解其内部工作原理,以便更好地自定义验证规则、...

    struts2 validation

    Struts2 Validation是Apache Struts框架的一个重要组成部分,主要用于处理Web应用中的数据验证。这个框架提供了灵活且强大的机制,帮助开发者实现对用户输入的有效性检查,确保数据的准确性和安全性。下面将详细介绍...

    Struts2 校验器

    8. **整合其他验证框架**:除了内置的验证功能,Struts2还可以与Hibernate Validator、JSR 303/JSR 349等Java Bean Validation标准进行集成,以利用更丰富的验证约束。 总之,Struts2的校验器是其强大功能的一部分...

    Struts2校验框架应用

    Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...

    Struts2中的validation_多国语言版 国际化i18n+struts2数据校验.zip

    首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中定义校验规则或使用XML配置文件。当用户提交表单时,框架会自动...

    在struts2里,完成登录页面,使用框架进行数据校验,用户名必填,密码必填且长度大于6

    在Struts2中实现登录页面并进行数据校验是常见的需求,这有助于确保用户输入的有效性和安全性。以下是对这个主题的详细说明: 一、创建登录页面 1. 首先,我们需要创建一个HTML或JSP文件作为登录页面。在这个页面中...

    Struts2自定义校验框架

    Struts2的验证框架主要负责处理用户提交的数据,进行验证,并在验证失败时显示错误消息。它支持两种验证方式:基于注解的验证(Annotation-based Validation)和基于XML的验证(XML-based Validation)。自定义校验...

    struts2验证框架简单实例

    在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...

    struts2 简单数据校验

    这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 数据校验是任何Web应用程序中的核心部分,它涉及到多个方面,如必填字段、数据类型检查、长度限制、格式验证等。...

    struts验证框架-validation的验证框架

    Struts验证框架,作为Struts框架的一个重要组成部分,主要用于对用户输入的数据进行合法性检查,确保数据符合预期的格式和约束条件。这一机制不仅提升了应用程序的健壮性,还增强了用户体验,避免了因非法数据导致的...

Global site tag (gtag.js) - Google Analytics