1

在春天,当控制返回视图时,我已经看到它返回,

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";
    }

这也是有效的还是一个好的做法?

4

2 回答 2

1

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

干杯和快乐的编码。

于 2013-01-20T11:28:23.763 回答
0

是的,返回一个字符串是有效的。它将被解释为视图名称(ref):

一个字符串值,它被解释为视图名称,模型通过命令对象和 ModelAttribute 注释的引用数据访问器方法隐式确定。

这是一个好习惯吗?

让我们说这是一个品味问题。(我的观点是这种风格需要更多关于Spring MVC 的隐式行为的知识,所以我不喜欢它,因为它使不了解所有这些隐式行为的人更难以理解代码,但它实际上只是个人的偏爱...)

于 2013-01-20T10:52:46.227 回答