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.欄位型校驗器是以屬性為單位的,內容模板:
- <validators>
- <fieldname="">
- <field-validatortype="">
- <paramname=""></param>
- <message></message>
- </field-validator>
- </field>
- </validators>
3.非欄位型校驗器是以校驗器為單位的,內容模板:
- <validatortype="">
- <paramname="fieldName"></param>
- <paramname=""></param>
- <message></message>
- </validator>
程式碼示例:
此段程式碼中分別對字串、日期、整型、email進行資料校驗;
Validation01Action.java
- package org.validation.action;
- import java.util.Date;
- import com.opensymphony.xwork2.ActionSupport;
- publicclass Validation01Action extends ActionSupport {
- private String name;
- private String email;
- privateint age;
-
相關推薦
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