在春天,当控制返回视图时,我已经看到它返回了,
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";
}这也是一种有效的做法还是良好的做法?
发布于 2013-01-20 18:52:46
是的,返回一个字符串是有效的。它将被解释为视图名称(ref):
一个被解释为视图名称的字符串值,模型通过命令对象和ModelAttribute注释的引用数据访问器方法隐式确定。
这是一个很好的实践吗?
让我们假设这是一个品味问题。(我的观点是,这种风格需要更多关于Spring MVC隐式行为的知识,所以我不喜欢它,因为它使那些没有意识到所有这些隐式行为的人更难理解代码,但这实际上只是个人喜好……)
发布于 2013-01-20 19:28:24
控制器中的这种类型的请求映射和将模型传递到视图页面是新的Spring MVC最令人兴奋和有用的方面。像这样编写请求映射方法是完全可以的。有趣的是return new ModelAndView("contact", "command", new Contact());,这种类型的返回语句正在一天一天地消失。
干杯和快乐的编码。
https://stackoverflow.com/questions/14423670
复制相似问题