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里面找到的,独立出来,备用
本文介绍了如何在Java中通过自定义数据绑定方法实现不同实体类的数据输入与输出分离,包括初始化绑定、处理请求和输出结果的过程。通过实例演示了如何在Spring MVC控制器中设置字段前缀,并提供了HTML表单实现数据输入。



2390

被折叠的 条评论
为什么被折叠?



