1. Spring jsR303驗證,為什麼在頁面上使用 form:error顯示不了錯誤信息
說明你對jsr的自定義類型轉化器ConversionService沒有了解,你雖然model裡面已經添加了jsp中的modelAttribute的模型,但是你modelAttribute中的名字沒有對應你的PortalUser類中的名字,應該jsp中modelAttribute=「」portalUser「」,你就可以解決你的問題
備註:在jsp中的modelAttribute必須要modelAttribute="POJO類名小寫",原理和springmvc.xml中配置conversionService 的默認bean一樣意思
2. struts2和springmvc有什麼區別
1)springmvc的入口是一個servlet,即前端控制器,例如:*.action
struts2入口是一個filter過慮器,即前端過濾器,例如:/*
2)springmvc是基於方法開發,傳遞參數是通過方法形參,可以設計為單例
struts2是基於類開發,傳遞參數是通過類的屬性,只能設計為多例
3)springmvc通過參數解析器是將request對象內容進行解析成方法形參,將響應數據和頁面封裝成 ModelAndView對象,最後又將模型數據通過request對象傳輸到頁面
struts採用值棧存儲請求和響應的數據,通過OGNL存取數據
3. javax 是如何實現依賴
參數校驗是我們程序開發中必不可少的過程。用戶在前端頁面上填寫表單時,前端js程序會校驗參數的合法性,當數據到了後端,為了防止惡意操作,保持程序的健壯性,後端同樣需要對數據進行校驗。後端參數校驗最簡單的做法是直接在業務方法裡面進行判斷,當判斷成功之後再繼續往下執行。但這樣帶給我們的是代碼的耦合,冗餘。當我們多個地方需要校驗時,我們就需要在每一個地方調用校驗程序,導致代碼很冗餘,且不美觀。
那麼如何優雅的對參數進行校驗呢?JSR303就是為了解決這個問題出現的,本篇文章主要是介紹 JSR303,Hibernate Validator等校驗工具的使用,以及自定義校驗註解的使用。
校驗框架介紹
JSR303 是一套JavaBean參數校驗的標准,它定義了很多常用的校驗註解,我們可以直接將這些註解加在我們JavaBean的屬性上面,就可以在需要校驗的時候進行校驗了。註解如下: