1. 程式人生 > >Struts2 輸入校驗

Struts2 輸入校驗

一、Struts2輸入校驗介紹

Struts2的輸入校驗和型別轉換都是對請求引數進行處理。

輸入校驗顧名思義就是請求引數是否能夠滿足一定的要求;

客戶端校驗&伺服器端校驗

客戶端校驗是指在瀏覽器這端通過Javascript進行初步校驗,為了減輕伺服器端的負載;

伺服器端校驗是校驗資料的最後一道防線;

在Struts2中,資料校驗不需要寫任何程式碼,只需要一個配置檔案,配置校驗的條件就可以了,非常簡單;因此資料校驗檔案是資料校驗的最重要的內容;

二、資料校驗規則檔案

1.資料校驗規則檔案規則:

1.此檔案中規定了引數的一些校驗條件;

2.可以包括欄位型校驗器和非欄位型校驗器;

3.命名規則:ActionName-validation.xml,其中ActionName是Action類的名字;

4.每個Action都有一個validation檔案,規則檔案放在和Action同目錄下;

5.在前面我們講到的配置邏輯action中,如果需要對某個邏輯Action配置資料校驗檔案,則命名規則為:ActionName-LogicActionName-validation.xml;

6.注意:當需要對邏輯action進行校驗時,如果存在一般形式的ActionName-validaton.xml檔案,則也會對此邏輯Action進行校驗;

7.輸入校驗失敗後,和型別轉換一樣,會將錯誤封裝成fieldError,並放入Action Context中,因此在JSP中新增<s:fielderror/>可顯示錯誤,此內容也是我們在資料校驗檔案中配置的;

8.當輸入校驗失敗後,和型別轉換一樣,返回邏輯檢視為input,因此在struts.xml中必須配<result name="input"></input>

9.輸入校驗失敗後,struts表單標籤也會自動輸出錯誤提示;

欄位型校驗器&非欄位型校驗器

欄位型校驗器:以每個Action屬性為一個單位進行編寫,即以如下風格編寫:

屬性1

        規則1

        規則2

屬性2

        規則1

        規則2

非欄位型校驗器:以規則為一個單位,以如下風格編寫:

規則1

        屬性

規則2

        屬性

規則3

        屬性

2.資料校驗檔案內容

1.資料校驗檔案以<validators>為根元素;

2.欄位型校驗器是以屬性為單位的,內容模板:

  1. <validators>
  2.     <fieldname="">
  3.         <field-validatortype="">
  4.             <paramname=""></param>
  5.             <message></message>
  6.         </field-validator>
  7.     </field>
  8. </validators>


3.非欄位型校驗器是以校驗器為單位的,內容模板:

  1. <validatortype="">
  2.         <paramname="fieldName"></param>
  3.         <paramname=""></param>
  4.         <message></message>
  5. </validator>

程式碼示例:

此段程式碼中分別對字串、日期、整型、email進行資料校驗;

Validation01Action.java

  1. package org.validation.action;  
  2. import java.util.Date;  
  3. import com.opensymphony.xwork2.ActionSupport;  
  4. publicclass Validation01Action extends ActionSupport {  
  5.     private String name;  
  6.     private String email;  
  7.     privateint age;  
  8. 相關推薦

    Struts2入校

    exp cdata tin .get xwork scheme field -1 rac regist.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%

    Struts2入校之validate入校方式

    一.在Web系統專案中有大量的檢視頁面需要使用者自行輸入很多資料。這些資料的型別有很多種。為了防止某些客戶的惡意輸入以及對Web專案的惡意破壞,必須引入輸入校驗,像Windows作業系統的防火牆一樣把一些垃圾資料過濾掉,擋在Web系統之外。接下來就來介紹一下validate

    Struts2 入校

    一、Struts2輸入校驗介紹 Struts2的輸入校驗和型別轉換都是對請求引數進行處理。 輸入校驗顧名思義就是請求引數是否能夠滿足一定的要求; 客戶端校驗&伺服器端校驗 客戶端校驗是指在瀏覽器這端通過Javascript進

    Struts2 入校(Action中使用國際化資原始檔、校器校

    Action類獲得國際化資原始檔中的資訊,主要使用ActionSupport類的getText方法進行。 ActionSupport類過載了很多getText方法,常用的有如下幾個: 1、getText(String aTextName):引數aTextName是資原始檔中

    struts2(三) 入校和攔截器

    input 後綴名 轉換 erro ams 註釋 查找 一起 set       前面知道了struts2的架構圖和struts2的自動封裝表單參數和數據類型自動轉換,今天來學struts2的第三第四個東西,輸入校驗和攔截器,                       -

    Struts2入校-採用手工編寫程式碼實現

    在struts2中,我們可以實現對action的所有方法校驗或者對action的制定方法進行校驗。 對於輸入校驗struts2提供了兩種實現方法: 採用手工編寫程式碼實現 基於XML配置方式實現

    struts2中手動完成入校

    手動校驗是通過重寫validate()方法來實現的 以登入為例: 1.Login.jsp程式碼 <%@ page language="java" contentType="text/html; charset=utf-8"     pageEncoding="utf-

    Struts2:對Action中方法進行入校

    原始碼下載地址:http://download.csdn.net/detail/zhoujing_0424/9239429 在struts2中,我們可以實現對action的所有方法進行校驗或對action的指定方法進行校驗。對於輸入校驗,struts2提供了兩

    Struts2學習(三)———— 入校和攔截器

    編程 xml配置方式 攔截 基本上 不用 知識 基本 數據類型轉換 固定 一、輸入校驗      在以前我們寫一個登錄頁面時,並沒有限制用戶的輸入,不管用戶輸入什麽,我們都存入數據庫中,很顯然這是不行的,我們需要檢測用戶輸入的文本是否合法,是否符合我們需要的文本格式,符合菜

    struts2學習之---入校

      客戶端校驗進行基本校驗,如檢驗非空欄位是否為空,數字格式是否正確等。客戶端校驗主要用來過濾使用者的誤操作。作用是:拒絕誤操作輸入提交到伺服器處理,降低伺服器端負擔。   伺服器端校驗也必不可少,伺服器端校驗防止非法資料進去程式,導致程式異常,底層資料庫異常

    Struts2入校,手工實現入校

       Struts2的輸入校驗 手工實現輸入校驗 (核心:重寫valiadate()方法校驗單個處理邏輯)   1;jsp(登入) <%@ page contentType="text/html;charset=UTF-8" language="java" impor

    Struts2的型別轉換及入校(集合型別的使用)

    action: package org.action; import java.util.List; import org.model.Tel; import com.opensymphony.xwork2.ActionSupport; public class MyTyp

    Struts2入校-基於XML配置方式實現

    使用基於XML配置方式實現輸入校驗時,Action也需要繼承ActionSupport,並且提供校驗檔案,校驗檔案和action類放在同一個包下,檔案的取名格式為:ActionClassName-validation.xml,其中ActionClassName為

    Struts的型別轉換及入校Struts2入校

    Struts輸入校驗: (1)在Action類中處理方法進行校驗,若沒有指定方法就用execute()方法 (2)繼承ActionSupport類,並重寫其validate()方法實現輸入校驗 (3)應用struts2框架進行校驗 1.使用execute方法校驗: publ

    Struts2的型別轉換及入校(自定義型別轉換器)

    typeconverter2.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib uri="/struts-tags" prefix="s"

    簡析struts2.x中的入校

    在web中,對於頁面表單的輸入校驗,在客戶端我們可以寫js指令碼來校驗。但如果為了提高應用的安全性通常除了在客戶端利用js來校驗表單,我們通常還會在伺服器端進行再次校驗以提高安全性。而struts的輸入校驗則很好的解決了服務端的校驗,使得開發者只需編寫校驗規則檔案即可,這樣

    Struts2各個功能詳解(2)-入校和攔截器

    param con -- img ava ide xml配置方式 後綴名 voc 前面知道了struts2的架構圖和struts2的自動封裝表單參數和數據類型自動轉換,今天來學struts2的第三第四個東西,輸入校驗和攔截器。 一:輸入校驗 客戶端校驗進行基本校驗,如

    正則表示式(input入校

    大於0的正整數(不包括0) var reg = /^\+?[1-9]\d*$/;     正整數和0(包括0) var reg = /^[1-9]\d*|0$/; 最多2位小數(非負) var reg = /\d+(\.\d{0,2})?/ input輸入框

    入校:(甬)公(xx)勘[20 xx] xx 號

    <scripttype="text/javascript"> function validateInput(inputValue) { var reSpaceCheck = /^/(甬/)公/((.)+/)勘/[20/d{2}/](.)+號$/;//正則表示式 i

    手工編寫程式碼實現對action中所有方法入校

    通過重寫validate() 方法實現, validate()方法會校驗action中所有與execute方法簽名相同的方法。當某個資料校驗失敗時,我們應該呼叫addFieldError()方法往系統的fieldErrors新增校驗失敗資訊(為了使用addFieldError()方法,action可以繼承A