Spring的控制器註解@InitBinder
阿新 • • 發佈:2019-05-15
因為看到這麼Mastering-Spring-5.0的一塊程式碼,想寫寫@InitBinder註解:
這裡我們處理一些date的格式,因為如果set的這個屬性是個物件,Spring就會去找到對應的editor進行轉換
WebDataBinder實現將請求request繫結到複雜屬性時的請求字元string到屬性的轉換
然後寫個方法來試試效果,這裡使用一個入參date,需要的是dd/MM/yyyy的格式
然後我們在瀏覽器中輸入http://localhost:8080/ctest?date=2018/02/03,日誌輸出:
這時候我們如果輸入http://localhost:8080/ctest?date=2018-02-03,那麼就會有如下的報錯
錯誤是可以處理的,那麼我們再註冊一個CustomDateEditor處理dd-MM-yyyy的格式
當然如果你有更加複雜的邏輯,那麼我們可以自己定義一個類來處理,這裡需要繼承PropertyEditorSupport
這時候我們就可以傳這樣的引數http://localhost:8080/ctest?date=201802--03
參考: