struts2校驗方式有三種
校驗方式有三種:
1. 重寫validate()方法,前提是你當前類要實現Validateable介面。我們的一般做法是繼承ActionSupport類,這個類幫我們實現了這個介面。我們只需要在當前類中重寫即可,並在裡面進行自己的業務處理判斷。如圖:
注:validate方法在execute方法或其他業務方法執行之前。所以,這種方式下,validate方法裡會完成所有業務的驗證。即:這個地方是通道口,當前類裡的所有方法想要執行必須經過validate方法。生產環境中是不合理的。
2. 重寫validateXxx方法,我們將不同的業務邏輯放在不同的方法中去,然後為每一個方法重寫一個驗證方法,其格式是:validateXxx,其中Xxx就是你對應的方法,首字母大寫,如圖:
3. 基於配置檔案的校驗 我們可以將我們的校驗資訊以xml的形式寫出來。目的是為了簡化java程式碼和提高效率。具體操作如圖:
第一步:在同級action中建立一個xml檔案用於配置。其格式:
Action類名xml中action的name屬性-validation.xml
第二步:
注:引入dtd檔案,可在原始碼示例中找到
第三步:在這個配置檔案中按照以下語法來寫自己的控制。
<validators>
<fieldname=" "><!-- 被校驗的欄位 -->
<field-validatortype=""><!--
<message></message><!-- 給的提示資訊 -->
</field-validator>
</field>
</validators>
第四步:在jsp中獲取message的反饋:
其方式與我們之前的一樣,其中的紅色部分,也就是我們所說的key,在這裡就是我們定義的那個<field >標籤中的name屬性值,也是我們監控的那個值。