struts2校验数据
在使用struts2校验数据的时候,如果校验失败会重新返回到数据的提交页面,这是通过<result name="
input"></result>来实现的。如果校验成功就执行相对应的业务处理的方法。具体示例代码如下:
DataValidateAction.java
package com.sinwee.validate;
import java.util.Map;
import org.apache.struts2.interceptor.RequestAware;
import com.opensymphony.xwork2.ActionSupport;
/**
* 测试目的:struts2校验数据
* 测试时间:2013年6月22日22:36:37
* @author Administrator
*
*/
public class DataValidateAction extends ActionSupport implements RequestAware {
/**
*
*/
private static final long serialVersionUID = -2228354281751790751L;
private String username;
private String password;
private Map<String, Object> request;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
/**
* 模拟新增用户的方法,
* @return
*/
public String addUser() {
request.put("username", username);
request.put("password", password);
return "addSuccessful";
}
/**
* 该方法只会对action中的addUser()方法进行校验
*/
public void validateAddUser() {
if (this.username == null || this.username.trim().equals("")) {
this.addFieldError("username", "用户名不能为空!");
} else if (this.username.toCharArray().length < 5) {
this.addFieldError("username", "用户名必须大于5位字符!");
}
if (this.password == null || this.password.trim().equals("")) {
this.addFieldError("password", "密码不能为空!");
} else if (!(this.password.matches("\\d+"))) {
this.addFieldError("password", "密码必须全部是数字");
}
}
}
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>
<constant name="struts.delMode" value="true"/>
<package name="validateData" namespace="" extends="struts-default">
<action name="validateData_*" class="com.sinwee.validate.DataValidateAction" method="{1}">
<result name="addSuccessful">
/addSuccessful.jsp
</result>
<result name="input"> <!-- 校验失败返回到增加用户页面 -->
/addUser.jsp
</result>
</action>
</package>
<!-- Add packages here -->
</struts>
addUser.jsp:提交数据的页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>新增用户</title>
</head>
<body>
<s:fielderror></s:fielderror><br/>
<form action="${pageContext.request.contextPath }/validateData_addUser" method="post">
用户名:<input type="text" name="username" />
<br/>
密码:<input type="password" name="password" />
<br/>
<input type="submit" value="增加用户(测试校验数据)">
</form>
</body>
</html>
addUserSuccessful.jsp:执行相对应的业务方法之后的返回的页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
新增用户成功!<br/>
用户名:${requestScope.username }<br/>
密码:${requestScope.password }
</body>
</html>
分享到:
相关推荐
在Struts2中,校验器(Validator)是处理用户输入验证的核心组件,确保提交到服务器的数据符合预设的业务规则。这篇博客文章可能是关于如何使用Struts2的内置校验机制以及自定义校验规则的探讨。 Struts2的校验框架...
在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中重写`validate()`方法是最常见的做法。此方法允许开发者...
Struts2作为一款流行的Java Web开发框架,提供了一套强大的校验框架,使得开发者能够方便地对用户输入数据进行验证,确保数据的准确性和安全性。本文将深入探讨Struts2校验框架的应用,包括其核心概念、配置方式、...
在Struts2中,数据校验是一个重要的功能,它确保用户输入的数据符合预设的规范,从而保证系统的稳定性和安全性。这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 ...
在Struts2中,数据校验是一项至关重要的功能,它确保了用户提交的数据符合预定义的规则和格式,从而提高应用的安全性和数据质量。下面我们将详细探讨Struts2中的数据校验机制。 首先,数据校验是Web应用开发中的...
### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web应用开发框架,它能够帮助开发者构建出结构清晰、易于维护的应用程序。其中,Struts2提供的校验框架是其核心特性之一...
本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...
### Struts2校验框架详解 ...Struts2校验框架为开发者提供了一套强大而灵活的数据校验机制,通过简单的配置即可实现复杂的数据校验逻辑。熟练掌握其使用方法,不仅能提高Web应用程序的质量,还能极大地提升开发效率。
在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及如何通过国际化功能提供多种语言的用户体验。 首先,数据校验是任何Web应用程序中的关键环节,它...
在Struts 2中,数据校验是实现业务逻辑的重要组成部分,确保输入的数据符合预设规则,从而提高应用程序的稳定性和安全性。数据校验功能是通过Struts 2的ActionSupport类和其他相关组件来实现的。 首先,...
本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
在Struts2中,输入校验主要用于验证用户通过表单提交的数据,防止无效或恶意数据进入系统。Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别...
source 博文链接:https://callan.iteye.com/blog/185418
与Struts1相比,Struts2具有显著的优势,包括更少的侵入性设计、支持AOP编程的拦截器、类型转换器、多样的表现层技术以及更灵活的数据校验机制。 首先,Struts2的无侵入式设计使得应用程序不再紧密依赖Servlet API...
在Struts2中,数据校验是一个重要的功能,它确保了从用户界面接收到的数据符合业务规则,从而避免了无效或错误的数据进入系统。本资料“Struts2_1100_SimpleDataValiation.rar”提供了关于Struts2简单数据校验的源码...
输入校验是确保应用程序安全性和数据完整性的关键环节,Struts2为此提供了强大的支持。以下是关于Struts2输入校验的详细解释: 首先,Struts2的输入校验机制允许开发者在不编写额外代码的情况下,对用户的输入进行...
Struts2 数据校验是Java Web开发中一个重要的实践领域,尤其对于保证应用程序的数据质量和安全性至关重要。Struts2,作为一款流行的MVC框架,提供了一套强大的数据验证机制,允许开发者在用户输入提交到服务器之前...