spring mvc自动绑定数据到对象

yxb1990 写道
dancewing 写道
Java代码 复制代码  收藏代码
  1. @Controller  
  2. public class TestBinderController {   
  3.   
  4.     @InitBinder("account")   
  5.     public void initBinder1(WebDataBinder binder) {   
  6.             binder.setFieldDefaultPrefix("acc.");   
  7.     }   
  8.     @InitBinder("user")   
  9.     public void initBinder2(WebDataBinder binder) {   
  10.             binder.setFieldDefaultPrefix("user.");   
  11.     }   
  12.   
  13.     @RequestMapping("/testInput")   
  14.     public String testBinderInput(){   
  15.        return "testInput";   
  16.     }   
  17.   
  18.     @RequestMapping("/testOutput")   
  19.     public void testBinderOuput(@ModelAttribute Account account,@ModelAttribute User user,BindingResult result){   
  20.         System.out.println(user);   
  21.         System.out.println(account);   
  22.     }   
  23. }  
@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);
    }
}

Java代码 复制代码  收藏代码
  1. <html>   
  2.   
  3. <body>   
  4. <form action="/testOutput" method="post">   
  5.     <input name="acc.loginId">   
  6.     <input name="user.loginid">   
  7.     <input type="submit">   
  8. </form>   
  9. </body>   
  10. </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里面找到的,独立出来,备用

猜你喜欢

转载自shmily2038.iteye.com/blog/1716594