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里面找到的,独立出来,备用