基于Struts2验证框架的输入验证

来源:互联网 发布:ubuntu安装sql server 编辑:程序博客网 时间:2024/05/02 13:08

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>

0 0
原创粉丝点击