【问题标题】:Is it better to use ModelAndView or return a String as a view?使用 ModelAndView 还是将 String 作为视图返回更好?
【发布时间】:2019-10-31 12:52:43
【问题描述】:

我正在构建一个 Spring MVC 应用程序,只是想知道关于建模和视图的约定是什么。

返回一个 ModelAndView 还是只返回一个字符串形式的视图名称更好?

例子

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 可以让您的意图更加清晰,但与简单地返回字符串相比,它涉及更多设置。

【问题讨论】:

  • 严格来说,没有区别。这取决于你的喜好。但我更喜欢返回一个字符串,因为它看起来更简洁。

标签: java spring model-view-controller model


【解决方案1】:

ModelAndView 是模型(数据)+ 视图(视图名称)。视图名称是字符串,因为它由 TemplateViewResolver 处理。因此,如果您选择返回 String (viewname) 并使用 Modal 处理数据,这没有什么区别。事实上,作为视图返回字符串是后来添加到 Spring 中的,因此更高级。但我更喜欢 ModelAndView 而不是返回字符串。原因是

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

【讨论】:

    猜你喜欢
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2011-05-21
    • 2014-03-05
    相关资源
    最近更新 更多