以下Spring Framework类之间的主要区别是什么?
Model
ModelMap
ModelAndView
使用Model.put(String,Object)
我们可以访问.jsp
文件中的值,但ModelMap.addAttribute(String,Object)
也可以做同样的事情。我不理解这些类之间的区别。
以下Spring Framework类之间的主要区别是什么?
Model
ModelMap
ModelAndView
使用Model.put(String,Object)
我们可以访问.jsp
文件中的值,但ModelMap.addAttribute(String,Object)
也可以做同样的事情。我不理解这些类之间的区别。
Answers:
Model
是一个接口,ModelMap
而是一个类。
ModelAndView
只是一个ModelMap
和一个视图对象的容器。它允许控制器将两个值作为单个值返回。
Model,ModelMap和ModelAndView之间的差异
型号:这是一个接口。它定义了模型属性的持有者,并且主要用于向模型添加属性。
例:
@RequestMapping(method = RequestMethod.GET)
public String printHello(Model model) {
model.addAttribute("message", "Hello World!!");
return "hello";
}
ModelMap: Map的实现,用于构建用于UI工具的模型数据时使用。支持链式调用和模型属性名称的生成。
例:
@RequestMapping("/helloworld")
public String hello(ModelMap map) {
String helloWorldMessage = "Hello world!";
String welcomeMessage = "Welcome!";
map.addAttribute("helloMessage", helloWorldMessage);
map.addAttribute("welcomeMessage", welcomeMessage);
return "hello";
}
ModelAndView:此类仅持有两者,以使控制器可以在单个返回值中返回模型和视图。
例:
@RequestMapping("/welcome")
public ModelAndView helloWorld() {
String message = "Hello World!";
return new ModelAndView("welcome", "message", message);
}
Model:是一个接口,它包含四个addAttribute和一个merAttribute方法。
ModelMap:实现Map接口。它还包含Map方法。
ModelAndView:正如Bart解释的那样,它允许控制器将两个都作为单个值返回。