1. validate 輸入校驗方式
在Web系統(tǒng)項目中有大量的視圖頁面需要用戶自行輸入很多數(shù)據(jù)。這些數(shù)據(jù)的類型有很多種。為了防止某些客戶的惡意輸入以及對Web項目的惡意破壞。必須引入輸入校驗。
1.1 復習validate方法進行輸入校驗
這種的最基本方法就是在每個Action中繼承ActionSupport類,并且重寫它的輸入校驗方法validate()。
1.2 validateXXX 方法進行輸入校驗
這種方法可以說是上面一種的升級版,我們可以在Action類中將execute方法改變成XXX方法。
然后再寫validateXXX方法來代替validate ,當然,兩者只要寫一個就行了。
例如:如果是一個注冊的頁面的話。
那么在JSP頁面中使用
<s:form action="Register!Register.action">
這里可以看到有兩個Register,那么這兩個分別表示什么意思呢?
第二個是Action類里面的XXX方法名,而感嘆號之前呢就是在struts.xml配置文件中定義RegisterAction的映射中的“name”內(nèi)容。如果只寫感嘆號后面的內(nèi)容,那么就會只顯示執(zhí)行execute方法。
2. 利用配置文件進行輸入校驗方法說明
如果是根據(jù)上面的哪一種方法會顯得比較繁瑣,而且如果是一個比較小的項目的話,會耗費極大的時間和成本,所以呢,就引入了配置文件進行輸入校驗。
2.1 Struts2 字段校驗的配置文件形式
在XML文件中校驗的話,其實也沒什么特別的。這里給幾個例子:
<field name="username">
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">8</param>
<message>用戶名長度必須在${minLength}-${maxLength}位之間</message>
</field-validator>
<field-validator type="requiredstring">
<message>請輸入用戶名</message>
</field-validator>
</field>
這里就是配置文件中的一些配置方法,但是要注意的是minLength和maxLength必須要這樣寫。不然struts2 是不會有所提示的。
2.2 Struts2非字段校驗的配置文件形式
這種的校驗方式呢,和字段校驗相比,只是輸入校驗配置文件的內(nèi)容有所不同。
不需要field這個標簽,而是使用<validators><validator></validator></validators>
即可,然后在里面再加上一個屬性叫做username即可。
Struts2輸入校驗出錯信息的國際化篇配置形式
這一點呢?主要就是在屬性文件中加上了一些值,其實就是相當于變量一樣在代碼中進行使用。在message中再加上一個屬性 key,而key 的值就是我們剛剛在屬性文件中所定義的變量的值。
2.3 集合類型輸入校驗介紹
。。。待續(xù)