java - 使用 ModelAndView 还是返回 String 作为 View 更好?

标签 java spring model-view-controller model

我正在构建一个 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 而不是返回字符串。原因是

  1. 更具可读性,因为它提供了我希望的 View 和数据的清晰图片 从我的 Controller 返回
  2. 在开发过程中,如果 Controller 中存在服务调用 中断,我确信返回正确的 View 而不是任何 突然返回字符串。因此我的模板解析器总是 快乐。

关于java - 使用 ModelAndView 还是返回 String 作为 View 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56639599/

相关文章:

java - 在 VS Code 中向 Java 库代码添加断点

java - 使用 java 从 MySQL 检索多个 Blob

java - 我怎样才能像这个应用程序中的那样制作信息屏幕

java - ModelMapper - 将 DTO 的属性映射到具有该属性的关系的实体内

java - 试图理解Spring的@RunWith、@ContextConfiguration;和 Ant

java - 捕获 Spring MVC 最大上传大小错误

c# - MVC .Net View 嵌套模型列表

android - 为android开发时的文件结构

java - 更改 Eclipse 工具提示/提示/建议/覆盖窗口颜色

asp.net-mvc - 在MVVM详细信息 View 中使用其他表