- 1.springmvc在上下文環境內置了一些轉換器,可以完成基本數據類型和字符串的轉換比如:
-
基本數據類型可以和字符串之間自動完成轉換
-
如果轉換失敗,默認給出400的提示錯誤,這樣我們需要處理 , 不能只是依靠默認的轉換機制(如果錯誤如何友好提示,馬上就說.)
-
-
- 特殊數據類型的轉換案例
-
我們的Monster中有birthday 屬性,工資 salary 這時我們需要給這些屬性添加註解。
目前我們通過基本的轉換和通過註解可以指定屬性輸入時的字符串格式,如果沒有按照規定填寫,則會轉換失敗,並給出400錯誤.
- 驗證以及國際化 解決頁面404 提示友好信息
3JSR303提供了很多註解,通過在javabean/entity屬性上寫明註解就可以實現驗證
- 1.Hibernate validator 是在JSR 303的基礎上的一個擴展,你可以認爲是增加了一些實用的註解.
- 2.Hibernate validator 和 Hibernate沒有關係
hibernate-validator-5.0.0.CR2\dist\lib\required
- (3)把 el-api-2.2.jar、javax.el-2.2.4.jar、javax.el-api-2.2.4.jar 複製到 tomcat 的 lib 目錄下, 且把 lib 目錄下的原來的 el-api.jar 移除, 注意一定刪除tomcat原來的 el-api.jar 否則會有包衝突的問題
- 2.在需要的各個pojo 類型的javabean的字段上加上需要的驗證註解
- 1. @Valid 註解之後, 添加一個 Errors 或 BindingResult 類型的參數, 可以獲取到驗證的錯誤信息,即在目標方法的某個javabean上指定需要驗證的註解.
使用標籤取出錯誤信息.
- 1.配置錯誤信息的國際化
-
在springMVC的配置文件中,指定國際化資源的文件名和相關的處理bean
- 1.編寫國際化資源文件 src/i18n.properties,配置錯誤信息
配置錯誤信息的規則如下: 【配置的信息的規則???????】
- (1)如果配置的是驗證錯誤,比如NotEmpty
規則: 驗證規則.表單modelAttribute值.屬性名=消息信息
比如: NotEmpty.monster. monsterName=名字不能爲空
- (2)如果配置的是類型不匹配的錯誤,比如生日格式不對.
規則: typeMismatch.表單modelAttribute值.屬性名=消息信息
比如: typeMismatch.monster.birthday=生日格式不正確
如果你取消了某個屬性的綁定,那麼即使用戶提交這個屬性值,比如monsterName,那麼在後臺接收到monsterName也是null.
當某個javabean的屬性取消綁定,則該屬性驗證規則也要去掉,否則通不過.