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.     private Date date;  
  9.     public String execute()throws Exception{  
  10.         return SUCCESS;  
  11.     }  
  12.     public String getName() {  
  13.         return name;  
  14.     }  
  15.     publicvoid setName(String name) {  
  16.         this.name = name;  
  17.     }  
  18.     public String getEmail() {  
  19.         return email;  
  20.     }  
  21.     publicvoid setEmail(String email) {  
  22.         this.email = email;  
  23.     }  
  24.     publicint getAge() {  
  25.         return age;  
  26.     }  
  27.     publicvoid setAge(int age) {  
  28.         this.age = age;  
  29.     }  
  30.     public Date getDate() {  
  31.         return date;  
  32.     }  
  33.     publicvoid setDate(Date date) {  
  34.         this.date = date;  
  35.     }  
  36. }  


1.jsp

  1. <%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
  2. <%@taglib prefix="s"uri="/struts-tags" %>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5.   <head>
  6.     <title>My JSP '1.jsp' starting page</title>
  7.     <metahttp-equiv="pragma"content="no-cache">
  8.     <metahttp-equiv="cache-control"content="no-cache">
  9.     <metahttp-equiv="expires"content="0">
  10.     <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
  11.     <metahttp-equiv="description"content="This is my page">
  12.     <!-- 
  13.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  14.     -->
  15.   </head>
  16.   <body>
  17.     <s:fielderror></s:fielderror>
  18.     <s:formaction="validator01">
  19. 相關推薦

    struts2資料

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

    淺談軟體測試資料

    註明:DBCheck即資料庫資料校驗;一.為什麼需要DBCheck?你同學去年向你借了一萬大洋,今天你打電話想他還錢給你,老同學很大方的給你說馬上給你打到銀行卡上。一會兒,回電話給你說,錢已經全部打到你銀行卡了,讓你等會兒去查詢自己銀行卡的來賬。可是,你左等右等,等到西湖的水都幹了,還是沒有收到銀行的進賬通知

    第四十章:Spring MVC框架資料14

    第十二章 資料校驗 在Web應用三層架構體系中,表述層負責接收瀏覽器提交的資料,業務邏輯層負責資料的處理。為了能夠讓業務邏輯層基於正確的資料進行處理,我們需要在表述層對資料進行檢查,將錯誤的資料隔絕在業務邏輯層之外。 1.校驗概述 JSR 303是Java為Bean資料合法性

    Struts2資料

    1.資料的校驗分成前臺和後臺兩種方式: JavaScript可以在前臺完成校驗,但是這種方式主要是提升使用者的體驗,依然可以繞行至後臺程式中。 後臺的資料校驗,在Servlet/Action中做資料的校驗。 2.Struts2框架中資料校驗的方法:

    struts2簡單資料

    <span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="U

    ABP框架學習——資料

    校驗介紹 一個應用的輸入應該首先要驗證。這個輸入可以是使用者的輸入,也可以是另一個應用的輸入。在一個Web應用中,驗證通常要實現2次:第一次是客戶端驗證,第二次是服務端驗證。客戶端的驗證是為了更好的使用者體驗,通過檢測表單的欄位來提醒使用者必須的欄位;服

    SSM整合資料

    什麼是校驗? 一個專案中,通常使用校驗較多的地方是前端的校驗,比如說在頁面中js的校驗(表單驗證)。對於安全性要求較高的,則會要求在服務端也進行校驗。 服務端校驗: 控制層Controller: 校

    Android開發實用工具類資料

    package com.heliquan.test.util;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;import

    Struts2慢慢學六----簡單的資料

    資料校驗是在專案開發中不可缺少的一部分,使用者登入時、密碼驗證時都需要,當然要做的首先是獲得使用者輸入的內容,然後對內容進行驗證,一般都是從資料庫中讀出然後校驗,如果錯誤則顯示提示資訊,正確則進入使用者主介面。 下面用一個簡單小例子來說明下步驟: 1、index的表單 &l

    .Java程式設計師從笨鳥到菜鳥(四十一)細談struts2(五)action基礎知識和資料

    一:首先看一下struts2中action的實現方式: 1.建立普通的pojo類:這種方式能夠實現簡單的action功能,但struts2內自帶的一些驗證和其他功能不能夠實現 2.繼承ActionSupport類實現action,因為ActionSupport已經實現了Action介面,還實現了Vali

    Struts2validate資料兩種方式

    1.Action中的validate()方法 Struts2提供了一個Validateable介面,這個介面中只存在validate()方法,實現這個介面的類可直接被Struts2呼叫,ActionSupport類就實現了Vadidateable介面,但他的v

    struts2 資料

    struts2 後端資料校驗有兩種方式,一種是通過action類繼承ActionSupport類實現,另一種則是通過校驗框架實現。 一、繼承ActionSupport類 按照慣例,先編寫pojo類、jsp頁面以及action處理類,具體如下 public c

    Robot Framework輸出日誌、資料

    本文通過簡單的例項來講解Robot Framework如何輸出日誌資訊,以及如何對獲取的資料進行校驗。1、具體程式碼頁面如下,然後再逐行講解指令碼的含義。L1、呼叫內建關鍵字Log,   第一個引數是“test my log ” ,第二個引數是“warn”。即列印一條log,

    Struts2資料功能實現

    前言 資料校驗一般是校驗表單項的內容。 而驗證的主要通過: 前臺驗證:主要是通過JS驗證資料是否合法! 後臺驗證:通過後臺java程式碼進行驗證! 那麼,本文主要介紹後端Struts校驗的實現。 回顧之前的資料驗證,主要是在業務邏輯程式碼之前增加if

    struts2資料4

    如果一個類裡面有多個方法,為每個方法進行不同的驗證。1.在struts.xml定義 <action name="regist2" class="fq.registerAction1" method="abc"> <result>/welcome.jsp

    struts2資料1

    假設有一個表單提交給action的Log方法,如果我需要校驗的話,就定義一個ValidateLog()方法就好了,這樣在執行Log方法之前就會執行ValidateLog方法,在這個方法裡面可以進行資料校

    Struts2學習筆記(十)——資料

    Struts2的資料校驗屬於伺服器端校驗,Struts2 支援校驗方式 : 手動校驗(程式碼校驗) :在伺服器端通過編寫java程式碼,完成資料校驗自動校驗(配置校驗) :XML配置校驗(主流) 和 註解配置校驗 1、手動校驗    1)Struts2的手動校驗步驟:

    Struts2——資料

    程式設計式校驗(伺服器端) 在action中編寫校驗程式碼 步驟: 1、action繼承ActionSupport類,並實現其中的validate()方法; 2、在struts.xml中配置action,可以選擇通過在jsp介面新增來顯示,也可通過對

    Struts2資料(2)--使用XWork檢驗框架實現

    2.使用XWork檢驗框架實現校驗 通過XWork的validator框架也可以進行Struts2的資料校驗,使用XWork的validator框架實現資料校驗,只需編寫一個驗證檔案便可。 1.驗證檔案 驗證檔案由兩種:一種是actionName-validation.xm

    Struts2學習總結(3)--值棧,Ognl表示式,Struts標籤庫,國際化,資料,攔截器

    本文包括以下五個部分: 值棧。Ognl表示式。struts2標籤庫。國際化。表單資料校驗攔截器。struts2的執行過程。一、值棧 採用servlet和JSP開發時,servlet通過域物件儲存資料,在JSP頁面通過jstl標籤+el表示式獲取資料。 採用struts2和