yxb1990 写道
dancewing 写道
- @Controller
- public class TestBinderController {
- @InitBinder("account")
- public void initBinder1(WebDataBinder binder) {
- binder.setFieldDefaultPrefix("acc.");
- }
- @InitBinder("user")
- public void initBinder2(WebDataBinder binder) {
- binder.setFieldDefaultPrefix("user.");
- }
- @RequestMapping("/testInput")
- public String testBinderInput(){
- return "testInput";
- }
- @RequestMapping("/testOutput")
- public void testBinderOuput(@ModelAttribute Account account,@ModelAttribute User user,BindingResult result){
- System.out.println(user);
- System.out.println(account);
- }
- }
@Controller
public class TestBinderController {
@InitBinder("account")
public void initBinder1(WebDataBinder binder) {
binder.setFieldDefaultPrefix("acc.");
}
@InitBinder("user")
public void initBinder2(WebDataBinder binder) {
binder.setFieldDefaultPrefix("user.");
}
@RequestMapping("/testInput")
public String testBinderInput(){
return "testInput";
}
@RequestMapping("/testOutput")
public void testBinderOuput(@ModelAttribute Account account,@ModelAttribute User user,BindingResult result){
System.out.println(user);
System.out.println(account);
}
}
- <html>
- <body>
- <form action="/testOutput" method="post">
- <input name="acc.loginId">
- <input name="user.loginid">
- <input type="submit">
- </form>
- </body>
- </html>
<html>
<body>
<form action="/testOutput" method="post">
<input name="acc.loginId">
<input name="user.loginid">
<input type="submit">
</form>
</body>
</html>
这个方法试了下,可以,学到了,感觉如果楼主说的这个情况下比较少发生的话,可以用这种方法,改源代码暂时还动不了,

多谢
到现在为止我是知道三种方法了
第一种是直接修改SpringMVC源码
第二种是使用@initBinder
第三种是新建Form封装类
条条大路通罗马~~~~~ iteye里面找到的,独立出来,备用