在表現(xiàn)層的數(shù)據(jù)處理方面主要分為兩種類型,一種是類型轉換,這點我們上篇已經(jīng)簡單介紹過,另外一種則是我們本篇文章將要介紹的:數(shù)據(jù)校驗。對于我們的web應用,我們經(jīng)常需要和用戶進行交互收集用戶信息,那么無論是用戶誤操作還是惡意攻擊,這些錯誤的信息一旦被傳入到后臺,小則導致程序異常關閉,大則導致整個系統(tǒng)癱瘓。數(shù)據(jù)校驗就是對用戶的輸入做一層過濾,保護我們的系統(tǒng)免受侵入。下面我們開始介紹本篇的內(nèi)容,主要包括以下幾小節(jié):

  • 一個簡單的例子(用于全局把握整個校驗過程)

  • 兩種校驗配置風格

  • 為不同Action處理邏輯配置不同的校驗配置

  • 詳解struts2框架內(nèi)置的幾種校驗器

  • 自定義校驗器

一、一個簡單的例子
     在詳細介紹數(shù)據(jù)校驗的每一步驟之前,我們先通過一個簡單的例子從全局范圍把握下整個數(shù)據(jù)校驗流程都需要哪些文件,各個步驟執(zhí)行的順序。強調(diào)的是從全局粗略的感受下,不用在意具體的代碼。

//登錄表單頁面,信息提交到loginAction<html>
  <head>
    <title></title>
  </head>
  <body>
    <s:form method="POST" action="/login">
      <s:textfield name="name" label="姓名"/>
      <s:textfield name="age" label="年齡"/>
      <s:submit value="提交"/>
    </s:form>
    
  </body></html>
//定義一個actionpublic class LoginAction extends ActionSupport {    private String name;    private int age;