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>
分享到:
相关推荐
NULL 博文链接:https://chaoyi.iteye.com/blog/2161948
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
struts2的数据校验
Struts2_1100_SimpleDataValiation.rar Struts2简单数据校验源码 Struts2简单数据校验源码
struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验
source 博文链接:https://callan.iteye.com/blog/185418
Struts2数据校验与国际化,有validate()方法校验,有validateXxx()方法校验,有配置文件校验;国际化:有英,香港,内地
Struts2_1100_SimpleDataValiation.rar Struts2简单数据校验源码 Struts2简单数据校验源码
struts2校验器类型详解 配合我的名称为 : Struts2总结-2 资源看
struts2 类型转换 数据校验
Struts2中的validation_多国语言版 国际化+struts2数据校验.zip
NULL 博文链接:https://cdxs2.iteye.com/blog/1926326
这是个struts2的数据校验,很多都非常需要的!
用tomcat服务器,通过struts.xml写的action来操作网页之间的重定向和对login数据的校验。(分为admin和user的login网页)
struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2...
struts2数据验证与国际化 一个PPT,内有很多可看的内容. 朋友还是看看吧!
struts2表单校验,可单独一行显示
详细讲解struts2中服务器端与客户端对表单数据的校验方式.