`
sinwee
  • 浏览: 4965 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2校验数据

阅读更多
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 校验器

    在Struts2中,校验器(Validator)是处理用户输入验证的核心组件,确保提交到服务器的数据符合预设的业务规则。这篇博客文章可能是关于如何使用Struts2的内置校验机制以及自定义校验规则的探讨。 Struts2的校验框架...

    Struts2输入校验总结

    在Struts2框架中,输入校验是确保数据完整性和安全性的重要环节。对于手动输入完成校验,Struts2提供了灵活的机制。 1. **普通处理方式**:在Action类中重写`validate()`方法是最常见的做法。此方法允许开发者...

    Struts2校验框架应用

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

    struts2 简单数据校验

    在Struts2中,数据校验是一个重要的功能,它确保用户输入的数据符合预设的规范,从而保证系统的稳定性和安全性。这篇博客“Struts2 简单数据校验”可能详细介绍了如何在Struts2框架中实现对用户输入的有效性验证。 ...

    struts2的数据校验

    在Struts2中,数据校验是一项至关重要的功能,它确保了用户提交的数据符合预定义的规则和格式,从而提高应用的安全性和数据质量。下面我们将详细探讨Struts2中的数据校验机制。 首先,数据校验是Web应用开发中的...

    struts2校验框架使用心得.txt

    ### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web应用开发框架,它能够帮助开发者构建出结构清晰、易于维护的应用程序。其中,Struts2提供的校验框架是其核心特性之一...

    Struts2简单数据校验源码 20120417

    本资料"Struts2_1100_SimpleDataValiation"提供了关于Struts2简单数据校验的源码,这将有助于我们深入理解Struts2的数据校验机制。 1. **Struts2数据校验框架概述** - Struts2的数据校验框架是基于OGNL(Object-...

    struts2校验框架

    ### Struts2校验框架详解 ...Struts2校验框架为开发者提供了一套强大而灵活的数据校验机制,通过简单的配置即可实现复杂的数据校验逻辑。熟练掌握其使用方法,不仅能提高Web应用程序的质量,还能极大地提升开发效率。

    Struts2数据校验与国际化

    在“Struts2数据校验与国际化”这一主题中,我们将深入探讨Struts2如何通过不同的验证机制确保数据的有效性,以及如何通过国际化功能提供多种语言的用户体验。 首先,数据校验是任何Web应用程序中的关键环节,它...

    Struts 2 数据校验功能及校验问题的解决方案

    在Struts 2中,数据校验是实现业务逻辑的重要组成部分,确保输入的数据符合预设规则,从而提高应用程序的稳定性和安全性。数据校验功能是通过Struts 2的ActionSupport类和其他相关组件来实现的。 首先,...

    struts2输入校验

    本文将深入探讨Struts2中的输入校验机制,以及如何对指定方法进行输入校验。 在Struts2中,输入校验通常分为两种方式:客户端校验和服务器端校验。客户端校验主要通过JavaScript在用户端进行,可以提供即时反馈,但...

    struts2.0的数据校验框架struts2.0的数据校验框架

    struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架

    struts2输入校验深入总结

    在Struts2中,输入校验主要用于验证用户通过表单提交的数据,防止无效或恶意数据进入系统。Struts2提供了多种方式进行输入校验,包括Action级别校验、拦截器级别校验以及基于Validator框架的校验。 二、Action级别...

    struts2 数据校验

    source 博文链接:https://callan.iteye.com/blog/185418

    struts2标签+校验+SSH

    与Struts1相比,Struts2具有显著的优势,包括更少的侵入性设计、支持AOP编程的拦截器、类型转换器、多样的表现层技术以及更灵活的数据校验机制。 首先,Struts2的无侵入式设计使得应用程序不再紧密依赖Servlet API...

    Struts2简单数据校验源码

    在Struts2中,数据校验是一个重要的功能,它确保了从用户界面接收到的数据符合业务规则,从而避免了无效或错误的数据进入系统。本资料“Struts2_1100_SimpleDataValiation.rar”提供了关于Struts2简单数据校验的源码...

    Struts2的输入校验

    输入校验是确保应用程序安全性和数据完整性的关键环节,Struts2为此提供了强大的支持。以下是关于Struts2输入校验的详细解释: 首先,Struts2的输入校验机制允许开发者在不编写额外代码的情况下,对用户的输入进行...

    Struts2数据校验

    Struts2 数据校验是Java Web开发中一个重要的实践领域,尤其对于保证应用程序的数据质量和安全性至关重要。Struts2,作为一款流行的MVC框架,提供了一套强大的数据验证机制,允许开发者在用户输入提交到服务器之前...

Global site tag (gtag.js) - Google Analytics