1. 程式人生 > >struts2支援三種驗證方式

struts2支援三種驗證方式

package com.struts2.validation; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.validator.annotations.ConditionalVisitorFieldValidator; import com.opensymphony.xwork2.validator.annotations.ConversionErrorFieldValidator; import com.opensymphony.xwork2.validator.annotations.CustomValidator;
import com.opensymphony.xwork2.validator.annotations.DateRangeFieldValidator; import com.opensymphony.xwork2.validator.annotations.EmailValidator; import com.opensymphony.xwork2.validator.annotations.ExpressionValidator; import com.opensymphony.xwork2.validator.annotations.FieldExpressionValidator;
import com.opensymphony.xwork2.validator.annotations.IntRangeFieldValidator; import com.opensymphony.xwork2.validator.annotations.RegexFieldValidator; import com.opensymphony.xwork2.validator.annotations.StringLengthFieldValidator; import com.opensymphony.xwork2.validator.annotations.UrlValidator; import
com.opensymphony.xwork2.validator.annotations.Validations; import com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator; publicclass AnnotationValidationAction extends ActionSupport{ private Name name; private String password; private String email; privateint age; private Date birthday; private String homeUrl; private String question; private String answer; @Validations( stringLengthFields={@StringLengthFieldValidator(fieldName="password",minLength="8",maxLength="20",message="密碼的長度必須大於8小於20個字元")}, emails={@EmailValidator(fieldName="email",message="郵件欄位的格式不對")}, conversionErrorFields={@ConversionErrorFieldValidator(fieldName="age",message="年齡輸入的值轉換錯誤")}, intRangeFields={@IntRangeFieldValidator(fieldName="age",min="0",max="150",message="年齡範圍為0到150")}, urls={@UrlValidator(fieldName="homeUrl",message="個人主頁的格式不對")}, dateRangeFields={@DateRangeFieldValidator(fieldName="birthday",min="1900-01-01",message="日期輸入不真確")}, visitorFields={@VisitorFieldValidator(fieldName="name",context="name",message="姓名錯誤:",appendPrefix=true)}, fieldExpressions={@FieldExpressionValidator(expression="age>10",fieldName="age",message="年齡不大於10歲")}, expressions={@ExpressionValidator(expression="age<10",message="年齡大於10歲")}, //不顯示資訊 regexFields={@RegexFieldValidator(expression="1*",fieldName="question",message="問題不是全部1")}, conditionalVisitorFields={@ConditionalVisitorFieldValidator(expression="age>10",context="name",fieldName="name",appendPrefix=true,message="ConditionVistor:")} ) public String execute() throws Exception { returnsuper.execute(); } public Name getName() { return name; } publicvoid setName(Name name) { this.name = name; } public String getPassword() { return password; } publicvoid setPassword(String password) { this.password = password; } 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 getBirthday() { return birthday; } publicvoid setBirthday(Date birthday) { this.birthday = birthday; } public String getHomeUrl() { return homeUrl; } publicvoid setHomeUrl(String homeUrl) { this.homeUrl = homeUrl; } public String getQuestion() { return question; } publicvoid setQuestion(String question) { this.question = question; } public String getAnswer() { return answer; } publicvoid setAnswer(String answer) { this.answer = answer; } }

相關推薦

struts2支援驗證方式

package com.struts2.validation; import java.util.Date; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.validator.annotations

Salesforce支援Deployment方式 之 ANT

Salesforce支援三種Deployment方式 1. Outbound change set 2. Eclipse plug in  3. ANT  本文介紹使用ANT的基本步驟. <1> Preparation 1. Ant installed  2.

Struts2 Action類的編寫方式

Action類的三種編寫方式     1,使用公共POJO類作為Action,提供公共無引數的Action方法(不推薦)               缺點:沒有一種方式約束Action方法

2 struts2 Action類的建立方式

目前都在使用繼承ActionSupport類的方法,因為實現了很多方法。 1.直接建立Java類 package action; /** * 測試action用類 * action類必要條件:public修飾符 返回值String * 需要在strust.xm

Struts2之Action類的編寫方式

Action類的三種編寫方式 Action 類就是一個pojo類 (Plain Ordinary Java Object)簡單的java物件,沒有繼承某個類,沒有實現介面,就是POJO類 Action類可以實現Action介面

Laravel實現小程式使用openid登陸、手機號驗證碼登陸、賬戶密碼登陸登陸方式

目前開發小程式,按需求要實現3種登陸方式: 1、微信授權登陸 2、賬戶密碼登陸 3、手機號、驗證碼登陸 我使用laravel自帶的Auth認證機制,通過attempt方法進行賬戶驗證,但是預設的認證機制必須包含password欄位,而我的第1、3種登陸方式都沒有

Struts2傳值方式

1.普通的傳值方式 UserActionForCommonParam類 Action類接收三個引數,分別是id,username,content. package com.struts.action; public class UserActionForCommonPar

Struts2引數傳遞方式

一、簡單型別的引數傳遞                  只需在對應的Action裡面設定提供所需傳遞的引數的屬性,及setting 方法,通過表單中與之對應的引數名取到引數                  傳:   表單引數<input type="xxx" na

struts2傳值方式之1屬性傳值

屬性傳值也就是普通的傳值方法 先總的說一下屬性傳值是什麼樣子的! 在jsp頁面直接寫就可以了,沒有什麼特殊的要求和servlet的jsp頁面一樣 在Action頁面定義要傳的值,建立get和set方法。可以直接用。 具體參見程式碼,我用myeclipse寫的 .jsp &

Struts2)Action的訪問方式

1、傳統訪問:通過<action>標籤中的method屬性,訪問到Action中的具體的方法     *   傳統的配置方式,配置更清晰更好理解!但是擴充套件需要修改配置檔案     *   具體的例項如下:          *   頁面程式碼:<h3&g

C++函數的傳遞方式為:值傳遞、指針傳遞和引用傳遞

否則 方式 指針 指向 out 數據結構 logs 形參 使用 C++函數的三種傳遞方式為:值傳遞、指針傳遞和引用傳遞 值傳遞: void fun(int x){ x += 5; //修改的只是y在棧中copy x,x只是y的一個副本,在內存中重新開辟的一塊臨時空間把y

以下下載方式有什麽不同?如何用python模擬下載器下載?

get 瀏覽器 技術分享 ref tle port net class 但是 問題始於一個鏈接https://i1.pixiv.net/img-zip-...這個鏈接在瀏覽器打開,會直接下載一個不完整的zip文件 但是,使用下載器下載卻是完整文件 而當我嘗試使用py

sql註入過程中後臺數據庫類型的判斷方式

sql註入 安全測試 數據庫類型判斷 後臺數據庫類型判斷:一、通過頁面返回的報錯信息,一般情況下頁面報錯會顯示是什麽數據庫類型,在此不多說;二、通過各個數據庫特有的數據表來判斷: 1、mssql數據庫 http://127.0.0.1/test.php?id=1 and (sele

Python 函數的定義方式

true int 交互 方式 邏輯 pre pri [0 操作 無參:應用場景僅僅只是執行一些操作,比如與用戶交互,打印有參:需要根據外部傳進來的參數,才能執行相應的邏輯,比如統計長度,求最大值最小值空函數:設計代碼結構 def my_max(x,y): if x

Java 多線程 實現方式

() 例子 屬於 周期性 core www object 並且 check Java多線程實現方式主要有三種:繼承Thread類、實現Runnable接口、使用ExecutorService、Callable、Future實現有返回結果的多線程。其中前兩種方式線程執行完後都

mysql讀寫分離的實現方式

不能 span bsp 缺點 解決方案 使用 隨機 mas 均衡   1 程序修改mysql操作類可以參考PHP實現的Mysql讀寫分離,阿權開始的本項目,以php程序解決此需求。優點:直接和數據庫通信,簡單快捷的讀寫分離和隨機的方式實現的負載均衡,權限獨立分配缺點:自己維

Oracle基礎學習2--Oracle登錄與驗證機制

cal log 打開 manage nts 系統管理 user 本地用戶和組 成員 首先,Oracle安裝完畢有三個默認用戶   ? Sys:數據庫對象的擁有者。權限最高。password在安裝的時候(口令管理)能夠改變   ? System:數據庫管

webdriver 的等待方式

輪詢 common xxx implicit delay 定義 final load 超時時間 1、顯式等待 一個顯式等待是你定義的一段代碼,用於等待某個條件發生然後再繼續執行後續代碼。 from selenium import webdriverfrom seleniu

沈浸式狀態欄的實現方式

stemwin barh webp trac war nba schema 布局文件 adding 沈浸式算是目前Android行業比較流行的一種App設計風格,將菜單欄北京設置為導航欄的顏色,感覺頂部狀態欄像是被入侵了一樣,因此稱為沈浸式菜單欄。本文將介紹三種方式去實現沈

JavaScript實現接口的經典方式

pda osi 註釋 posit 檢查 form 兩個 const simple 1 /* 2 接口:提供一種說明一個對象應該有哪些方法的手段 3 js中有三種方式實現接口: 4 1 註釋描述接口 5 2 屬性檢測接口 6