基于Struts2验证框架的输入验证
2016-10-30 13:44
363 查看
Struts2框架中定义了验证的方法,要验证那个Action,只需要在与Action同级目录下创建Action名称-validation.xml,由Struts2自己完成验证,大大简化了验证的
1;jsp(登录)
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2拦截器的使用</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>用户登录</h2><hr/>
<s:form action="loginChecks.action" method="post">
<s:textfield name="name" label="用户名"></s:textfield>
<s:password name="pass" label="密码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
2:web.xml
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2拦截器的使用</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>用户登录</h2><hr/>
<s:form action="loginChecks.action" method="post">
<s:textfield name="name" label="用户名"></s:textfield>
<s:password name="pass" label="密码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
3:Struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<package name="struts2login" extends="struts-default">
<action name="loginoneCheck" class="com.test.action.OneAction">
<result name="success" >/sucesses.jsp</result>
<result name="login">/loginone.jsp</result>
</action>
<action name="loginChecks" class="com.test.action.StrutsYanZheng">
<result name="success" >/sucesses.jsp</result>
<result name="login">/loginone.jsp</result>
</action>
<action name="registerOneCheck" class="com.test.action.OneAction">
<result name="success" >/sucesses.jsp</result>
<result name="input">/inputone.jsp</result>
</action>
<action name="login" class="com.test.action.LoginAction">
<result name="success" >/result.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="login3" class="com.test.action.Login3Action">
<result name="success">/success.jsp</result>
<result name="input">/check2.jsp</result>
</action>
<action name="input" class="com.test.action.InputAction">
<result name="success" >/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="message" class="com.test.action.InputAction">
<result name="success" >/message.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
<package name="demo1" extends="struts-default">
<action name="addRegister" class="com.test.action.RegisterAction">
<result name="success">/showRegInfo.jsp</result>
</action>
<action name="addRegister1" class="com.test.action.Register1Action">
<result name="success">/showRegInfo1.jsp</result>
</action>
<action name="convert" class="com.test.action.ConvertAction">
<result name="success">/convertResult.jsp</result>
</action>
</package>
<package name="hellointerceptor" extends="struts-default">
<interceptors>
<interceptor name="helloInterceptor" class="com.test.action.HelloInterceptor">
</interceptor>
</interceptors>
<action name="helloaction" class="com.test.action.HelloAction">
<result name="success">/success1.jsp</result>
<result name="input1">/input1.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="helloInterceptor"></interceptor-ref>
</action>
</package>
<package name="check1interceptor" extends="struts-default">
<interceptors>
<interceptor name="logincheckinterceptor" class="com.test.action.CheckInterceptor">
</interceptor>
</interceptors>
<action name="login2action" class="com.test.action.UserAction">
<result name="success">/loginsuccess.jsp</result>
<result name="error">/loginerror.jsp</result>
<result name="login">/login2.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="logincheckinterceptor"></interceptor-ref>
</action>
</package>
</struts>
4:Action类
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class StrutsYanZheng extends ActionSupport{
private static final long serialVersionUID = 1L;
private String user;
private String pass;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
5;Action同级目录下的-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="user">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入用户名!</message>
</field-validator>
</field>
<field name="pass">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入密码!</message>
</field-validator>
</field>
</validators>
6:jsp(验证成功后返回)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>验证成功</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>验证正确,登陆成功</h2>
</body>
</html>
1;jsp(登录)
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2拦截器的使用</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>用户登录</h2><hr/>
<s:form action="loginChecks.action" method="post">
<s:textfield name="name" label="用户名"></s:textfield>
<s:password name="pass" label="密码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
2:web.xml
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Struts2拦截器的使用</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>用户登录</h2><hr/>
<s:form action="loginChecks.action" method="post">
<s:textfield name="name" label="用户名"></s:textfield>
<s:password name="pass" label="密码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
3:Struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<package name="struts2login" extends="struts-default">
<action name="loginoneCheck" class="com.test.action.OneAction">
<result name="success" >/sucesses.jsp</result>
<result name="login">/loginone.jsp</result>
</action>
<action name="loginChecks" class="com.test.action.StrutsYanZheng">
<result name="success" >/sucesses.jsp</result>
<result name="login">/loginone.jsp</result>
</action>
<action name="registerOneCheck" class="com.test.action.OneAction">
<result name="success" >/sucesses.jsp</result>
<result name="input">/inputone.jsp</result>
</action>
<action name="login" class="com.test.action.LoginAction">
<result name="success" >/result.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="login3" class="com.test.action.Login3Action">
<result name="success">/success.jsp</result>
<result name="input">/check2.jsp</result>
</action>
<action name="input" class="com.test.action.InputAction">
<result name="success" >/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="message" class="com.test.action.InputAction">
<result name="success" >/message.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
<package name="demo1" extends="struts-default">
<action name="addRegister" class="com.test.action.RegisterAction">
<result name="success">/showRegInfo.jsp</result>
</action>
<action name="addRegister1" class="com.test.action.Register1Action">
<result name="success">/showRegInfo1.jsp</result>
</action>
<action name="convert" class="com.test.action.ConvertAction">
<result name="success">/convertResult.jsp</result>
</action>
</package>
<package name="hellointerceptor" extends="struts-default">
<interceptors>
<interceptor name="helloInterceptor" class="com.test.action.HelloInterceptor">
</interceptor>
</interceptors>
<action name="helloaction" class="com.test.action.HelloAction">
<result name="success">/success1.jsp</result>
<result name="input1">/input1.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="helloInterceptor"></interceptor-ref>
</action>
</package>
<package name="check1interceptor" extends="struts-default">
<interceptors>
<interceptor name="logincheckinterceptor" class="com.test.action.CheckInterceptor">
</interceptor>
</interceptors>
<action name="login2action" class="com.test.action.UserAction">
<result name="success">/loginsuccess.jsp</result>
<result name="error">/loginerror.jsp</result>
<result name="login">/login2.jsp</result>
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="logincheckinterceptor"></interceptor-ref>
</action>
</package>
</struts>
4:Action类
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class StrutsYanZheng extends ActionSupport{
private static final long serialVersionUID = 1L;
private String user;
private String pass;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
5;Action同级目录下的-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="user">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入用户名!</message>
</field-validator>
</field>
<field name="pass">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入密码!</message>
</field-validator>
</field>
</validators>
6:jsp(验证成功后返回)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>验证成功</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<h2>验证正确,登陆成功</h2>
</body>
</html>
相关文章推荐
- struts2基于验证框架的输入校验
- 关于Struts2基于验证框架的输入校验的经验
- 基于ssh2架构的struts2验证框架错误解决
- 关于struts2文件中验证框架的输入验证
- Struts2输入校验(二)----验证框架
- 验证框架的配置及validation.xml常用的验证规则(Struts2的输入验证详解)
- struts2 基于xml 配置文件的输入验证
- Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程
- Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程
- 框架之Struts2 处理结果类型、struts.xml标签属性及验证输入的方式
- 使用Struts2验证框架实现输入校验
- 使用Struts2验证框架实现输入校验
- 7 Struts2输入校验(二)----验证框架
- struts2输入验证--验证框架(xml文件验证)
- struts2的输入验证框架(xml配置)
- struts2输入验证--验证框架(xml文件验证)
- Struts2 验证框架(1)——服务端
- Struts2之类型输入验证
- 受到启发,写了一个验证输入的简易框架
- struts2.x 验证框架