2013-01-20 44 views
1

在春天,当控制返回到查看我看到它返回通过,的ModelAndView在弹簧

return new ModelAndView("contact", "command", new Contact()); 

但是我看到的,其中只是一个字符串名称如下返回一个例子,

@RequestMapping("/index") 
    public String listContacts(Map<String, Object> map) { 

     map.put("contact", new Contact()); 
     map.put("contactList", contactService.listContact()); 

     return "contact"; 
    } 

这是否也是有效的或良好的做法?

回答

0

是的,它返回一个字符串是有效的。应当解释为视图名称(ref):这被解释为视图名,通过命令对象和的ModelAttribute注释基准数据存取方法隐含地确定的模型

的字符串值。

这是一个很好的做法吗?

让我们说这是一个品味问题。 (我的观点是,这个风格需要大约隐行为的Spring MVC的和更多的知识,所以我不喜欢因为它使代码更难以理解的人没有意识到这一切隐行为,但它确实只是个人偏好...)

1

这种控制器中的请求映射和将模型传递给视图页是新的Spring MVC中最令人兴奋和有用的方面。它完全可以像这样编写请求映射方法。有趣的是return new ModelAndView("contact", "command", new Contact());,这种类型的return语句正在日益消失。

干杯和快乐的编码。