struts框架验证(4)

第一步:(这一步和其他一样,这里从简)依旧是新建一个web project,命名为checkxml,导入struts2必须的包。在src目录下新建struts.xml,修改web.xml文件。 
第二步:将index.jsp改名为reg.jsp(这个不是必须的,事实上也没有必要,此处只是为了便于称呼)。Input.jap的代码如下 

Jsp代码   收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6. <%@ taglib prefix="s"  uri="/struts-tags"%>  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'index.jsp' starting page</title>  
  13.     <meta http-equiv="pragma" content="no-cache">  
  14.     <meta http-equiv="cache-control" content="no-cache">  
  15.     <meta http-equiv="expires" content="0">      
  16.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  17.     <meta http-equiv="description" content="This is my page">  
  18.     <!--  
  19.     <link rel="stylesheet" type="text/css" href="styles.css">  
  20.     -->  
  21.   </head>  
  22.   
  23.     <body>  
  24.         <s:form action="reg">  
  25.             <s:textfield name="username" label="username"></s:textfield>  
  26.             <s:password name="password" label="password"></s:password>  
  27.             <s:password name="repassword" label="repassword"></s:password>  
  28.             <s:textfield name="age" label="age"></s:textfield>  
  29.             <s:textfield name="birthday" label="birthday"></s:textfield>  
  30.             <s:textfield name="graduation" label="graduation"></s:textfield>  
  31.   
  32.             <s:submit name="submit"></s:submit>  
  33.             <s:reset name="reset"></s:reset>  
  34.         </s:form>  
  35.   
  36.     </body>  
  37. </html>  

第二步:action 
在src目录下新建新建包cn.edu.hdu.action 在其中新建一个RegAction.java文件 
代码如下 

Java代码   收藏代码
  1. package cn.edu.hdu.action;  
  2.   
  3. import java.util.Calendar;  
  4. import java.util.Date;  
  5.   
  6. import com.opensymphony.xwork2.ActionSupport;  
  7.   
  8. public class RegAction  extends ActionSupport  
  9.   
  10. {  
  11.         private String username;  
  12.         private String password;  
  13.         private String repassword;  
  14.         private int age;  
  15.         private Date birthday;  
  16.         private Date graduation;  
  17.         public String getUsername() {  
  18.             return username;  
  19.         }  
  20.         public void setUsername(String username) {  
  21.             this.username = username;  
  22.         }  
  23.         public String getPassword() {  
  24.             return password;  
  25.         }  
  26.         public void setPassword(String password) {  
  27.             this.password = password;  
  28.         }  
  29.         public String getRepassword() {  
  30.             return repassword;  
  31.         }  
  32.         public void setRepassword(String repassword) {  
  33.             this.repassword = repassword;  
  34.         }  
  35.         public int getAge() {  
  36.             return age;  
  37.         }  
  38.         public void setAge(int age) {  
  39.             this.age = age;  
  40.         }  
  41.         public Date getBirthday() {  
  42.             return birthday;  
  43.         }  
  44.         public void setBirthday(Date birthday) {  
  45.             this.birthday = birthday;  
  46.         }  
  47.         public Date getGraduation() {  
  48.             return graduation;  
  49.         }  
  50.         public void setGraduation(Date graduation) {  
  51.             this.graduation = graduation;  
  52.         }  
  53.           
  54.         public String execute() throws Exception  
  55.         {  
  56.             return  SUCCESS;  
  57.         }  
  58.   
  59.   
  60.               
  61.               
  62.         }  
  63.           
  64.           



第三步:修改struts.xml文件 代码如下 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  4.     "struts.apache.org/dtds/struts-2.0.dtd">  
  5.           <struts>  
  6.                     <package name="checkxml" extends="struts-default">  
  7.                             <action name="reg" class = "cn.edu.hdu.action.RegAction">  
  8.                                     <result name="success">/success.jsp</result>  
  9.                                     <result name="input">reg.jsp</result>  
  10.                             </action>  
  11.                     </package>  
  12. </struts>  



第四步: 在WebRoot目录下新建另一个视图 success.jsp 代码如下(此文件在这个效验中基本没有什么作用) 

Jsp代码   收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6.   
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html>  
  9.   <head>  
  10.     <base href="<%=basePath%>">  
  11.       
  12.     <title>My JSP 'success.jsp' starting page</title>  
  13.       
  14.     <meta http-equiv="pragma" content="no-cache">  
  15.     <meta http-equiv="cache-control" content="no-cache">  
  16.     <meta http-equiv="expires" content="0">      
  17.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  18.     <meta http-equiv="description" content="This is my page">  
  19.     <!--  
  20.     <link rel="stylesheet" type="text/css" href="styles.css">  
  21.     -->  
  22.   
  23.   </head>  
  24.     
  25.   <body>  
  26.     恭喜你  验证通过  </body>  
  27. </html>  


最后一步,也是本节真正内容所在 
  在cn.edu.hdu.action目录下新建一个名字与action对应的xml文件 
RagAction-validation.xml  代码如下: 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE validators PUBLIC  
  3.         "-//OpenSymphony Group//XWork Validator 1.0.2//EN"  
  4.         "//www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">  
  5.           
  6.         <!-- 框架校验部分 -->  
  7. <validators>  
  8.     <!-- 分别对每一个字段校验 -->  
  9.     <field name="username">  
  10.         <!-- 每一种校验标准 -->  
  11.         <field-validator type="requiredstring">  
  12.             <!-- field-validator下的一些属性标签  说白了 就是一些传入函数的参数 -->  
  13.             <param name="trim">true</param>  
  14.   
  15.             <!-- 出错信息 -->  
  16.             <message>username is required</message>  
  17.         </field-validator>  
  18.   
  19.     </field>  
  20.     <!-- 一下都和username类似 将不做批注 -->  
  21.     <field name="password">  
  22.         <!-- 每一种校验标准 -->  
  23.         <field-validator type="requiredstring">  
  24.             <!-- field-validator下的一些属性标签  说白了 就是一些传入函数的参数 -->  
  25.             <param name="trim">true</param>  
  26.   
  27.             <!-- 出错信息 -->  
  28.             <message>password is required</message>  
  29.         </field-validator>  
  30.   
  31.         <field-validator type="stringlength">  
  32.             <param name ="minLength">6</param>  
  33.             <param name ="maxLength">10</param>  
  34.             <message>  
  35.                 password should between ${minLength} to ${maxLength}  
  36.             </message>  
  37.         </field-validator>  
  38.   
  39.     </field>  
  40.   
  41.   
  42.   
  43.     <field name="repassword">  
  44.         <!-- 每一种校验标准 -->  
  45.         <field-validator type="requiredstring">  
  46.             <!-- field-validator下的一些属性标签  说白了 就是一些传入函数的参数 -->  
  47.             <param name="trim">true</param>  
  48.   
  49.             <!-- 出错信息 -->  
  50.             <message>repassword is required</message>  
  51.         </field-validator>  
  52.   
  53.         <field-validator type="stringlength">  
  54.             <param name ="minLength">6</param>  
  55.             <param name ="maxLength">10</param>  
  56.             <message>  
  57.                 repassword should between ${minLength} to ${maxLength}  
  58.             </message>  
  59.         </field-validator>  
  60.   
  61.     </field>  
  62.   
  63.   
  64.   
  65.     <field name="age">  
  66.         <!-- 每一种校验标准 -->  
  67.   
  68.         <field-validator type="int">  
  69.             <param name ="min">1</param>  
  70.             <param name ="max">150</param>  
  71.             <message>age should between ${min} to ${max}</message>  
  72.         </field-validator>  
  73.   
  74.     </field>  
  75.   
  76.   
  77.   
  78.   
  79.   
  80.     <field name="birthday">  
  81.         <!-- 每一种校验标准 -->  
  82.         <field-validator type="requiredstring">  
  83.             <!-- field-validator下的一些属性标签  说白了 就是一些传入函数的参数 -->  
  84.             <param name="trim">true</param>  
  85.   
  86.             <!-- 出错信息 -->  
  87.             <message>birthday is required</message>  
  88.         </field-validator>  
  89.   
  90.         <field-validator type="date">  
  91.             <param name ="min">2000-1-1</param>  
  92.             <param name ="max">2010-12-31</param>  
  93.             <message>birthday should between ${min} to ${max}</message>  
  94.         </field-validator>  
  95.   
  96.     </field>  
  97.   
  98.   
  99.     <field name="graduation">  
  100.         <!-- 每一种校验标准 -->  
  101.         <field-validator type="requiredstring">  
  102.             <!-- field-validator下的一些属性标签  说白了 就是一些传入函数的参数 -->  
  103.             <param name="trim">true</param>  
  104.   
  105.             <!-- 出错信息 -->  
  106.             <message>graduation is required</message>  
  107.         </field-validator>  
  108.   
  109.         <field-validator type="date">  
  110.             <param name ="min">2000-1-1</param>  
  111.             <param name ="max">2010-12-31</param>  
  112.             <message>  
  113.                 graduation should between ${min} to ${max}  
  114.             </message>  
  115.         </field-validator>  
  116.   
  117.     </field>  
  118.   
  119. </validators>  

你可能感兴趣的:(struts)