Struts2输入校验2(框架效验)———struts2第四讲
Struts2输入校验2(框架效验)———struts2第四讲
一别经年 发表于4年前
Struts2输入校验2(框架效验)———struts2第四讲
  • 发表于 4年前
  • 阅读 9
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

框架校验

注:本文系作者在看了浪曦的风中叶老师的struts2视频的个人总结,希望能帮助广大struts2的初学者。 

此处为了简便起见和知识重复性的避免,暂不考虑类型转换问题。 

第一步:(这一步和其他一样,这里从简)依旧是新建一个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>  

输入校验(1)——struts2第三讲 | Struts2核心 拦截器(初识拦截器)——— ...

评论 共 1 条 请登录后发表评论

1 楼 ifox 2011-12-20 18:23

很好啊,学过但是忘 了。思路很清晰再看一遍就会了


共有 人打赏支持
粉丝 18
博文 138
码字总数 58546
×
一别经年
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: