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;
- private Date date;
- public String execute()throws Exception{
- return SUCCESS;
- }
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- public String getEmail() {
- return email;
- }
- publicvoid setEmail(String email) {
- this.email = email;
- }
- publicint getAge() {
- return age;
- }
- publicvoid setAge(int age) {
- this.age = age;
- }
- public Date getDate() {
- return date;
- }
- publicvoid setDate(Date date) {
- this.date = date;
- }
- }
1.jsp
- <%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%>
- <%@taglib prefix="s"uri="/struts-tags" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>My JSP '1.jsp' starting page</title>
- <metahttp-equiv="pragma"content="no-cache">
- <metahttp-equiv="cache-control"content="no-cache">
- <metahttp-equiv="expires"content="0">
- <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
- <metahttp-equiv="description"content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <s:fielderror></s:fielderror>
- <s:formaction="validator01">
-
相關推薦
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
Struts2之validate資料校驗兩種方式
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和