@initbinder簡介
@initbinder註解是controller級別的,乙個controller例項中的所有@initbinder 只對該controller有效。
@initbinder標註的方法, 方法的引數可以有httpservletrequest、modelmap、webdatabinder,一般情況下webdatabinder就能夠滿足的部分的需求了。
@initbinder標註的方法是在其匹配的controller請求執行之前執行的。
webdatabinder指定引數名稱字首
binder.setfielddefaultprefix()方法可以用來指定引數名稱的字首,可以避免兩個實體引數有相同名稱屬性的情況下繫結錯誤的問題。
比如有下面兩個實體a和b,它們都有相同的屬性名稱,在同乙個controller方法作為引數時就會出現問題
public
class
apublic
class
b
這個時候我們就可以通過binder.setfielddefaultprefix()方法來配置請求引數字首,前端提交的時候使用a.test、b.test就可以了
@controller
("/test"
)public
class
testcontroller
@initbinder
("b"
)public
void
initbinderaddr
(webdatabinder binder)
("/test"
)@responsebody
public map
test
(@modelattribute
("a"
) a a,
@modelattribute
("b"
) b b)
webdatabinder注入自定義型別轉換
binder.registercustomeditor()方法可以實現自定義型別資料繫結,實現方式參考文章: controller層接收date型別引數進行統一轉換
public
void
registercustomeditor
(class<
?> requiredtype, propertyeditor propertyeditor)
InitBinder註解使用
initbinder用於在 controller中標註於方法,表示為當前控制器註冊乙個屬性編輯器或者其他,只對當前的controller有效。controller public class testcontroller responsebody public mapgetformatdata dat...
通過註解配置Bean
1.在配置檔案中設定spring ioc容器掃瞄的包 resource pattern可以指定掃瞄的資源。base package per.yrj resource pattern repository class 還可以通過子節點來指定不包含哪些檔案,通過來指定包含哪些檔案。2.在bean類前新增...
實訓 SSH常用註解
1 requestparam value what required true 這個是傳參 當他為false 時 使用這個註解可以不傳這個引數 true時必須傳 required預設值是true 2 autowired可以對成員變數 方法和建構函式進行標註,來完成自動裝配的工作,這裡必須明確 aut...