网上关于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框架是用于处理用户输入验证的一种机制。它允许开发者定义验证规则,这些规则会在用户提交...
这些方法可以对用户输入的数据进行检查,如非空验证、长度限制、格式校验等。如果验证失败,框架会将错误信息添加到ActionContext中,然后这些错误信息可以在JSP页面上展示给用户。 在Struts2 XML配置文件中,`...
在Struts2中集成Validation框架,可以实现更加健壮和一致的用户输入验证。 Struts2的核心是Action类,它是处理请求和业务逻辑的中心。每个Action都可以关联一个或者多个结果,根据不同的执行逻辑跳转到不同的页面。...
使用Struts的Validation框架,我们可以轻松地实现这些校验规则。以下是对四种常见校验规则的详细解释: 1. **非空验证**:这是最基本的校验规则,确保用户没有遗漏必填字段。在ActionForm类中,可以使用`@Required...
3. 高效性:Struts2 验证框架提供了高效的验证机制,可以快速地对用户输入的数据进行验证,从而提高应用程序的性能。 Struts2 验证框架的应用 Struts2 验证框架广泛应用于各种基于 Java 的 Web 应用程序,包括: ...
通过上述步骤,我们已经了解了如何使用Struts Validation框架来实现表单验证。这不仅提高了应用程序的质量,还提升了用户体验。对于复杂的验证需求,还可以通过自定义验证器来扩展框架的功能。总的来说,Struts ...
综上所述,"Struts2_Validation"文件包很可能是围绕如何在Struts2中进行有效数据验证这一主题展开的,包括如何配置Validation.xml,编写验证规则,处理验证错误,以及如何结合其他Struts2特性进行更复杂的验证操作。...
- Struts 2中,Validation框架被更强大的Struts 2拦截器机制取代,提供了更灵活的验证方式和更丰富的功能。 深入研究Struts的Validation框架源码可以帮助开发者理解其内部工作原理,以便更好地自定义验证规则、...
Struts2 Validation是Apache Struts框架的一个重要组成部分,主要用于处理Web应用中的数据验证。这个框架提供了灵活且强大的机制,帮助开发者实现对用户输入的有效性检查,确保数据的准确性和安全性。下面将详细介绍...
8. **整合其他验证框架**:除了内置的验证功能,Struts2还可以与Hibernate Validator、JSR 303/JSR 349等Java Bean Validation标准进行集成,以利用更丰富的验证约束。 总之,Struts2的校验器是其强大功能的一部分...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
首先,我们来探讨"Struts2中的validation_多国语言版",这是Struts2的数据校验功能。Struts2提供了一种灵活的机制来验证用户输入,通过在Action类中定义校验规则或使用XML配置文件。当用户提交表单时,框架会自动...
在Struts2中实现登录页面并进行数据校验是常见的需求,这有助于确保用户输入的有效性和安全性。以下是对这个主题的详细说明: 一、创建登录页面 1. 首先,我们需要创建一个HTML或JSP文件作为登录页面。在这个页面中...
Struts2的验证框架主要负责处理用户提交的数据,进行验证,并在验证失败时显示错误消息。它支持两种验证方式:基于注解的验证(Annotation-based Validation)和基于XML的验证(XML-based Validation)。自定义校验...
在Struts2框架中,验证框架是其一个重要组成部分,用于确保输入数据的准确性和完整性,从而防止因无效数据导致的程序异常或错误。本实例将带你深入理解Struts2验证框架的使用,以及在实际操作中可能遇到的问题和解决...
这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 数据校验是任何Web应用程序中的核心部分,它涉及到多个方面,如必填字段、数据类型检查、长度限制、格式验证等。...
Struts验证框架,作为Struts框架的一个重要组成部分,主要用于对用户输入的数据进行合法性检查,确保数据符合预期的格式和约束条件。这一机制不仅提升了应用程序的健壮性,还增强了用户体验,避免了因非法数据导致的...