在春天,当控制返回到视图时,我已经看到它返回,
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 :(得分:1)
这种类型的请求映射在控制器中并将模型传递给视图页面是新的Spring MVC中最令人兴奋和有用的方面。完全可以编写像这样的请求映射方法。有趣的是return new ModelAndView("contact", "command", new Contact());
,这种类型的返回语句日复一日地灭绝。
欢呼和快乐的编码。
答案 1 :(得分:0)
是的,返回String是有效的。它将被解释为视图名称(ref):
一个String值,它被解释为视图名称,模型通过命令对象和ModelAttribute注释的引用数据访问器方法隐式确定。
这是一个好习惯吗?
让我们说这是品味问题。 (我的观点是,这个 style 需要更多关于Spring MVC的隐式行为的知识,所以我不喜欢它因为它使它成为对于那些不了解所有隐式行为的人来说,代码更难以理解,但这只是个人偏好......)