java – Basic Spring MVC数据绑定

前端之家收集整理的这篇文章主要介绍了java – Basic Spring MVC数据绑定前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习 Spring MVC,我到处寻找一个基本的控制器来查看数据绑定,但我没有尝试过任何工作.我可以将视图发布回控制器,我可以在那里看到带有属性的pojo,但每当我尝试将该对象添加到模型时,我什么也得不到.这是我到目前为止: @H_403_2@调节器

  1. @Controller
  2. public class HomeController {
  3.  
  4. @RequestMapping(value = "/",method = RequestMethod.GET)
  5. public String home(Model model) {
  6.  
  7. model.addAttribute(new Person());
  8. return "home";
  9. }
  10.  
  11. @RequestMapping(value="/about",method=RequestMethod.POST)
  12. public void about(Person person,Model model)
  13. {
  14. model.addAttribute("person",person);
  15. }
  16. }
@H_403_2@我要绑定的类

  1. public class Person {
  2. private String _firstName;
  3. private String _lastName;
  4. private Date _Birthday;
  5.  
  6. //Set
  7. public void setFirstName(String FirstName){this._firstName = FirstName; }
  8. public void setLastName(String LastName){this._lastName= LastName; }
  9. public void setBirthDate(Date BirthDate){ this._Birthday = BirthDate;}
  10.  
  11. //get
  12. public String getFirstName(){return _firstName;}
  13. public String getLastName(){return _lastName;}
  14. public Date getBirthDate(){return _Birthday;}
  15. }
@H_403_2@查看 – 控制器到表单!工作

  1. <Meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  2. <html>
  3. </head>
  4. <body>
  5. FirstName: ${model.person.getFirstName}
  6. LastName: ${model.person.getLastName}
  7. </body>
  8. </html>
@H_403_2@我可以或需要做什么才能让它绑定?

解决方法

模型属性是您在这里缺少的东西.
  1. @Controller
  2. public class HomeController {
  3.  
  4. @modelattribute("person")
  5. public Person getPerson(){
  6. return new Person();
  7. }
  8.  
  9. @RequestMapping(value = "/",method = RequestMethod.GET)
  10. public String home() {
  11. return "home";
  12. }
  13.  
  14. @RequestMapping(value="/about",method=RequestMethod.POST)
  15. public void about(@modelattribute("person") Person person,BindingResult result,Model model)
  16. {
  17. if( ! result.hasErrors() ){
  18. // note I haven't compiled this code :)
  19. }
  20. }
  21. }
@H_403_2@我们的想法是在GET和POST上都会调用@modelattribute方法,在GET请求中它只会暴露给视图,而在POST上它将用于绑定请求参数.

@H_403_2@请注意,BindingResult将传递给POST方法,以便您可以使用该命令执行某些操作.

猜你在找的Java相关文章