如何在SpringMVC中分析ModelAndView?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。
当控制器完成处理请求时,它通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回给DispatcherServlet。
因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造函数和一些方便的方法,
允许您根据自己的偏好构建模型和视图对象。这些构造函数和方法以类似的方式支持视图名称和视图对象。
当只有一个模型属性要返回时,可以在构造函数中指定它来构造ModelAndView对象。
@ ControllerpublicclassLogin { @ request mapping(value=' log in ' public modelAndviewlogin(){ modelAndviewmv=new modelAndview();mav.setViewName('欢迎');//返回的文件名MAV.addobject ('message ',' hello kitty ');//ListListStringList=NewArraylistString();list . add(' Java ');list . add(' c ');list . add(' Oracle ');mav.addObject('bookList ',list);//MapMapString,Stringmap=newHashMapString,String();图说(‘张山’,‘北京’);Map.put('lisi ',' Shanghai ');Map.put('吴王','深圳');mav.addObject('map ',map);returnmav}}
1.使用ModelAndView作为返回值。首先,在方法头中声明它:public modelandview getnamebyid(httpersvlet request,httpersvlet response response)throwsexception { }。
2.然后在方法体中实例化模型和视图
modelAndView mv=this . GetAutoView()。addObject('object ',object);
3.最后,在方法的末尾添加returnmv
那么mv的价值是多少呢?
ModelAndView:引用名为“/office OA/test/bjqgetnamebyid . JSP”的视图;is { bjq=com . hotent . office OA . model . test . bjq @ 1d 001 c5c[id=1000007960011,名称=教科书,密码=12ab,部门=test 3,部门id=,领导=2222,领导id=]}
解析:mv中有一个视图值和一个模型值。
视图是我们要访问的页面的地址,模型是将在页面中使用的数据。
有两种方法可以设置模型和视图实例的视图:设置视图名称(字符串视图名称)和设置视图(视图视图)。前者使用视图名称,而后者使用预先构造的视图对象。前者更常用。事实上,视图是一个接口,而不是一个可以构造的具体类。我们只能通过其他方式获得视图的实例。对于viewName,它可以是jsp的名称,也可以是tiles定义的名称,具体取决于所使用的ViewNameResolver,但是如何为ModelAndView实例设置模型就比较复杂了。有三种使用方法:
对象模型对象;
附加对象(字符串模型名,对象模型对象);
添加对象(地图模型地图);
模型和视图对象有两个功能:
第一个功能是设置如下所示的转向地址(这也是ModelAndView和ModelMap的主要区别)
ModelAndView view=new ModelAndView(' path : ok ');
第二个函数用于将控制方法处理的结果数据传递到结果页面,也就是说我们可以将结果页面上需要的数据放入ModelAndView对象中。它的功能类似于请求对象的setAttribute方法,用于在请求过程中传输处理过的数据。通过以下方式向页面传递参数:
附加对象(字符串键,对象值);
关于如何在SpringMVC中分析ModelAndView的问题的答案在这里分享。我希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131268.html