3
在單個控制器中可以有多個initBinder方法嗎?每個InitBinder()(見代碼)依賴於一個唯一的請求處理程序,例如initBinder()在url上調用:「/ update/account」和initBinderOne()在「update/account/pass」上?如何定義多個initBinder
我寧願有一個控制器的所有更新而不是多個。請指教。
@Controller
@RequestMapping(value="/uodate/account")
public class UpdateController {
@RequestMapping(method=RequestMethod.GET)
public String updateAccount(@ModelAttribute("account") Account account...){
..
}
@RequestMapping(method=RequestMethod.POST)
public String update(@Valid Account account...){
...
}
@RequestMapping(value="/pass", method=RequestMethod.GET)
public String updatePass(@ModelAttribute("account") Account account...){
...
}
@RequestMapping(value="/pass",method=RequestMethod.POST)
public String updatePass(@Valid Account account...){
...
}
@InitBinder("account")
public void initBinder(WebDataBinder binder){
binder.setValidator(validateAccount);
binder.setAllowedFields(new String[]{"accountId","accountname","firstName",
"lastName","address"});
}
@InitBinder("account")
public void initBinderOne(WebDataBinder binder){
binder.setValidator(validatePassword);
binder.setAllowedFields(new String[]{"accountId","password});
}
...你怎麼能夠讓initUser2Binder()來具體處理程序響應例如「更新/帳號/ PAASS」? –