我正在构建一个 Spring MVC 应用程序,只是想知道有关建模和 View 的约定是什么。
返回 ModelAndView 或仅以字符串形式返回 View 名称更好吗?
示例
public ModelAndView showInformation(){
ModelAndView myMV= new ModelAndView("display-information");
myMV.addObject("info",myObject);
return myMV;
}
或者
public String showInformation(Model theModel){
theModel.addAttribute("info",myObject);
return "display-information";
}
在我看来,使用 ModelAndView 可以让你的意图更加清晰,但与简单地返回字符串相比,它需要更多的设置。
最佳答案
ModelAndView是模型(数据)+ View ( View 名称)。 View 名称是字符串,因为它由 TemplateViewResolver 处理。因此,如果您选择返回 String (viewname) 并使用 Modal 处理数据,则没有什么区别。事实上,返回字符串作为 View 是后来添加到 Spring 中的,因此更高级。但我更喜欢 ModelAndView 而不是返回字符串。原因是
- 更具可读性,因为它提供了我希望的 View 和数据的清晰图片 从我的 Controller 返回
- 在开发过程中,如果 Controller 中存在服务调用 中断,我确信返回正确的 View 而不是任何 突然返回字符串。因此我的模板解析器总是 快乐。
关于java - 使用 ModelAndView 还是返回 String 作为 View 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56639599/