真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

struts2:字段校驗(yàn)和非字段校驗(yàn)代碼示例-創(chuàng)新互聯(lián)

一、為什么要使用struts2的validate驗(yàn)證框架

:使用struts2的驗(yàn)證框架,能夠提高客戶端提交的數(shù)據(jù)的安全性。通過驗(yàn)證,確保保存進(jìn)數(shù)據(jù)庫(kù)的信息是正確的

創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元仁化做網(wǎng)站,已為上家服務(wù),為仁化各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

二、使用struts2的validate框架?

: 1.我們需要配置struts2項(xiàng)目的最基本的jar包。(validate驗(yàn)證框架是有"xwork-core"包提供的)

: 2.使用struts2自帶的validate驗(yàn)證有兩種方法

a):使用代碼實(shí)現(xiàn) 驗(yàn)證功能 (也就是重寫ActionSupport中的validate()方法) 在validate方法中進(jìn)行編寫我們需

要的驗(yàn)證功能 這里需要提幾點(diǎn)的就是:

1.當(dāng)我們需要對(duì)action中的某一個(gè)指定的方法使用validate()方法驗(yàn)證時(shí)我們需要自定義一個(gè)validate

2.當(dāng)我們使用自定義的validate方法時(shí),最好將重寫的ActionSupport的validate方法去掉 (這是為了避免

引起沖突,因?yàn)槿绻鸻ction類中存在重寫的validate()方法 程序會(huì)自動(dòng)調(diào)用我們自定義的validate方法 之

后再調(diào)用它 這樣就驗(yàn)證了多次,非常不利于程序的效率。而且容易出現(xiàn)沖突)

3.在創(chuàng)建自定義的validate方法時(shí)需要注意該方法的 方法名! 該方法名由 validate+對(duì)應(yīng)的表單提交的

action中的 執(zhí)行方法名稱(首字母大寫)

附上一段代碼:

Java代碼  
  1. struts.xml:
  2.       //這里的method指定action對(duì)象調(diào)用哪一個(gè)方法執(zhí)行
  3.             //..此處省略
  4. 對(duì)應(yīng)的action類中的片段:
  5. public String test(){//action操作的方法
  6.         //..此處省略
  7.     return "";
  8.     }
  9. public void validateTest()
  10.             //這是我們自定義的validate方法 (validateTest) 這便是方法名
  11. {             //一定要記住大寫test的首字母
  12.         //..此處省略
  13. }
  14. @override
  15. Public String execute()//這是重寫ActionSupport的方法
  16.     {
  17.         //..此處省略
  18.         return "";
  19. }
  20. @override
  21. public void validate()//這是重寫ActionSupport的方法  如果我們需要有
  22.        //execute方法并且還要對(duì)它接收的數(shù)據(jù)信息進(jìn)行驗(yàn)證
  23. {
  24.         //那么我們可以將方法名改成 valiateExecute()便可以了
  25. //..此處省略
  26.       }

     b):使用xml文件進(jìn)行配置驗(yàn)證功能(建議使用xml配置文件進(jìn)行validate的驗(yàn)證)

  : 1.需要使用到xwork-core包下的  xwork-validate.dtd(版本根據(jù)項(xiàng)目進(jìn)行選擇,不過大體相同)

: 2.關(guān)于使用Xml進(jìn)行驗(yàn)證 的兩種情況: 全局驗(yàn)證 和局部驗(yàn)證

a):關(guān)于全局驗(yàn)證

全局就是針對(duì)整個(gè)action對(duì)象進(jìn)行xml驗(yàn)證

當(dāng)我們使用全局驗(yàn)證時(shí)候需要在  action對(duì)象的同目錄下創(chuàng)建一個(gè)xml配置文件

文件名是由 : action對(duì)象的名稱+(-validation.xml)

b):關(guān)于局部驗(yàn)證

局部驗(yàn)證是針對(duì)action對(duì)象中的某一個(gè)方法進(jìn)行xml驗(yàn)證

使用局部驗(yàn)證的時(shí)候同樣要在 action對(duì)象的同目錄下創(chuàng)建一個(gè)xml配置文件

不過使用局部驗(yàn)證需要在struts.xml 中進(jìn)行配置

代碼如下:(struts.xml)

Java代碼  
  1.                 //這一個(gè)主要針對(duì)整個(gè)action對(duì)象
  2.     
  3.         /show.jsp
  4.          /register.jsp
  5.     
  6.     //這個(gè)主要針對(duì)action的某一個(gè)方法 (采用了通配符 * 與 {1} 的值是相同的)
  7.         
  8.         /show.jsp
  9.          /register.jsp
  10.     

 //如果我們需要訪問action類中的test方法 則表單上可以這樣寫

所以該validate框架的xml配置文件名就是:action對(duì)象名+(-register_test-validation.properties)

:3.使用struts2的validate框架有兩種驗(yàn)證類型

a):在服務(wù)端進(jìn)行驗(yàn)證。 b):在客戶端進(jìn)行驗(yàn)證。 : 1.如果需要使用validate框架在客戶端進(jìn)行驗(yàn)證的話,一定要使用 struts2 的s標(biāo)簽 并且 表單的theme不能為:simple   Java代碼  
  1. 下面給出一個(gè)實(shí)例:
  2.     action對(duì)象:
  3.    package org.viancent.action;
  4.     import java.util.Date;
  5.     import com.opensymphony.xwork2.ActionSupport;
  6.     public class RegisterAction extends ActionSupport {
  7.         private String username;
  8.         private String password;
  9.         private String repassword;
  10.         private int age;
  11.         private Date birthday;
  12.         private String users;
  13.         public String getUsers() {
  14.             return users;
  15.         }
  16.         public void setUsers(String users) {
  17.             this.users = users;
  18.         }
  19.         public String getUsername() {
  20.             return username;
  21.         }
  22.         public void setUsername(String username) {
  23.             this.username = username;
  24.         }
  25.         public String getPassword() {
  26.             return password;
  27.         }
  28.         public void setPassword(String password) {
  29.             this.password = password;
  30.         }
  31.         public String getRepassword() {
  32.             return repassword;
  33.         }
  34.         public void setRepassword(String repassword) {
  35.             this.repassword = repassword;
  36.         }
  37.         public int getAge() {
  38.             return age;
  39.         }
  40.         public void setAge(int age) {
  41.             this.age = age;
  42.         }
  43.         public Date getBirthday() {
  44.             return birthday;
  45.         }
  46.         public void setBirthday(Date birthday) {
  47.             this.birthday = birthday;
  48.         }
  49.         @Override
  50.         public String execute() throws Exception {
  51.             // TODO Auto-generated method stub
  52.             return super.execute();
  53.         }
  54.         // 自定義的執(zhí)行方法
  55.         public String test() throws Exception {
  56.             System.out.println("test method invoked!");
  57.             // TODO Auto-generated method stub
  58.             return super.execute();
  59.         }
  60.         // 自定義的校驗(yàn)方法
  61.         public void validateTest() {
  62.             System.out.println("validateTest method invoked!");
  63.         }
  64.          @Override
  65.         public void validate() {
  66.         System.out.println("validate method invoked!");
  67.          if (null == this.getPassword()
  68.         || "".equals(this.getPassword()) || null ==
  69.                 this.getRepassword()
  70.          || "".equals(this.getRepassword())) {
  71.          return;
  72.             }
  73.          if (!this.getPassword().equals(this.getRepassword())) {
  74.          this.addFieldError("repassword",
  75.          "repassword should be same password");
  76.          }
  77.          }
  78.     }
 struts.xml的信息: Java代碼  
  1.     
  2.     /show.jsp
  3.      /register.jsp
  4.                         method="{1}">
  5.     /show.jsp
  6.      /register.jsp

 局部validate框架的xml配置信息(RegisterAction-register_test-validation.xml)

Java代碼  
  1.      //指明是對(duì)哪一個(gè)屬性進(jìn)行驗(yàn)證
  2.           //驗(yàn)證的類型
  3.          true
  4.          username should be notblank!
  5.               //如果錯(cuò)誤顯示給客戶端的信息
  6.     
  7.     
  8.         6
  9.         10
  10.         username should be not between${minLength} and ${maxLength}
  11.     
  12.     
  13.     
  14.         
  15.         age should be not blank!
  16.         
  17.         
  18.         1
  19.         150
  20.         age should be between ${min} and ${max}
  21.         
  22.     
  23.     
  24.         
  25.         birthday should be not blank!
  26.         
  27.         
  28.         1990-10-10
  29.         2011-3-14
  30.         birthday should be between ${min} and ${max} 
  31.                 
  32.     

 全局validate框架的xml配置信息(RegisterAction-validation.xml)

Java代碼  
  1.         
  2.             
  3.             users should be not blank!
  4.             
  5.             
  6.             6
  7.             10
  8.             users should be between ${minLength} and ${maxLength}
  9.                
  10.         

 view 界面的jsp信息:

Java代碼  
  1.     register.jsp:
  2.     
  3.         //服務(wù)端驗(yàn)證
  4.         
  5.         
  6.         
  7.         
  8.         
  9.         
  10.         
  11.         //客戶端驗(yàn)證  validate="true"(關(guān)鍵點(diǎn))
  12.         
  13.         
  14.         
  15.     

 show.jsp:

Java代碼  
  1.     
  2.     
  3.     
  4.     
  5.     

 這里說明一下 validate xml驗(yàn)證的規(guī)則

 //自動(dòng)校驗(yàn)器 //非自動(dòng)校驗(yàn)器 驗(yàn)證規(guī)則: requiredstring  驗(yàn)證是屬性是否為("")  不需要設(shè)置參數(shù) required    驗(yàn)證是屬性是否為(null) 不需要設(shè)置參數(shù) int  驗(yàn)證屬性是否為整數(shù) 可以這是在什么數(shù)之間 需要參數(shù) (min,max) stringlength   驗(yàn)證字符串的長(zhǎng)度  可以設(shè)置字符串需要的長(zhǎng)度 需要參數(shù)(minLength,maxLength) date 驗(yàn)證對(duì)象是否在某時(shí)段  可以設(shè)置時(shí)間段 需要參數(shù)(min,max) regex 使用正則驗(yàn)證   其他具體可以參看xwork-core包中的com.opensymphony.xwork2.validator.validators 下面的類以及 xwork-default.xml 做做筆記,傳播知識(shí),我是個(gè)勤勞的搬運(yùn)工 1224144402@qq.com
網(wǎng)站標(biāo)題:struts2:字段校驗(yàn)和非字段校驗(yàn)代碼示例-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/cdcgch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部