您的位置:首页 > 编程语言 > Java开发

基于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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: