网站开发宣传图片php开发网站优势
web/
2025/10/8 12:04:42/
文章来源:
网站开发宣传图片,php开发网站优势,科技进化论,烟台网站建设方案优化1.前言 最近SSM框架开发web项目#xff0c;用得比较火热。spring-MVC肯定用过#xff0c;在请求处理方法可出现和返回的参数类型中#xff0c;最重要就是Model和ModelAndView了#xff0c;对于MVC框架#xff0c;控制器Controller执行业务逻辑#xff0c;用于产生模型数据…1.前言 最近SSM框架开发web项目用得比较火热。spring-MVC肯定用过在请求处理方法可出现和返回的参数类型中最重要就是Model和ModelAndView了对于MVC框架控制器Controller执行业务逻辑用于产生模型数据Model而视图View用于渲染模型数据。 使用Model和ModelAndView这两个类在spring的视图解析时作用以及区别。 这两者之间有着很大的区别具体就表现在Model只是用来传输数据的并不会进行业务的寻址。ModelAndView 却是可以进行业务寻址的就是设置对应的要请求的静态文件这里的静态文件指的是类似jsp的文件。 其次两者还有一个最大的区别那就是Model是每一次请求可以自动创建但是ModelAndView 是需要我们自己去new的。 2.model方法 注意如果在控制层上的方法声明了注解ResponseBody 则会直接将返回值输出到页面。 Model 是一个接口 其实现类为ExtendedModelMap继承了ModelMap类。
public class ExtendedModelMap extends ModelMap implements Model一般来说可以用model来接收各种类型的数据如果使用来接收一组数据List 》》那么这个时候的model实际上是ModelMap。 3.ModelMap方法 ModelMap对象主要用于传递控制方法处理数据到结果页面也就是说我们把结果页面上需要的数据放到ModelMap对象中即可 他的作用类似于request对象的setAttribute方法的作用: 用来在一个请求过程中传递处理的数据。 ModelMap或者Model通过addAttribute方法向页面传递参数. 其中addAttribute方法参数有多种方式 常用的有写在java代码中
public ModelMap addAttribute(String attributeName, Object attributeValue){...}
public ModelMap addAttribute(Object attributeValue){...}
public ModelMap addAllAttributes(Collection? attributeValues) {...}
public ModelMap addAllAttributes(MapString, ? attributes){...}
然后在jsp页面上可以通过el表达式语言$attributeName或者是C标签库下的方法来获取并展示modelmap中的数据。 modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址. 那么我们可以通过控制器方法的字符串返回值来设置跳转url地址别名或者物理跳转地址。
4.ModelAndView方法 添加模型数据用addObject; 设置视图setViewName; ModelAndView 对象有两个作用 (1). 设置转向地址,这也是ModelAndView和ModelMap的主要区别.设置方式如下所示:
ModelAndView view new ModelAndView(path:student);
或者通过setViewName方式:
public void setViewName(String viewName){...}
(2). 将控制器方法中处理的结果数据传递到结果页面也就是把在结果页面上需要的数据放到ModelAndView对象中即可其作用类似于request对象的setAttribute方法的作用用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数
public ModelAndView addObject(String attributeName, Object attributeValue){...}
public ModelAndView addObject(Object attributeValue){...}
在jsp中也是可以通过el表达式语言attributeName或者C标签库的attributeName或者C标签库的{name } 来获取并展示ModelAndView中的数据。 5.使用示例 (1) Model 或者 ModelMap Model 和 ModelMap 的实例都是spirng mvc框架来自动创建并作为控制器方法参数传入用户无需自己创建。 而且需要return 返回指定的页面路径.
在控制层的java代码中写入 //传值方法一RequestMapping(listCategory2)public String listCategory2(Model model) {// 接收查询的信息ListCategory cs2 categoryService.list();// 封装了查询的数据model.addAttribute(test, cs2);//重要需要给出返回model跳转的路径return listCategory2;}然后在jsp页面中写入
!-- 获取值的时候对应的是addAttribute的第一个参数取了个别名为c--c:forEach items${test } varc varStatussttrtd${c.id}/tdtd${c.name}/td/tr/c:forEach图示 java jsp 效果 数据列表全部获取到
(2) ModelAndView ModelAndView的实例是需要我们手动new的这也是和ModelMap的一个区别。 而且ModelAndView 可以自己寻址只需要return 返回其对象即可。
在控制层的java代码中写入
//传值方法二:使用ModelAndView//当url处于这个时由listCategory方法来处理请求RequestMapping(listCategory)public ModelAndView listCategory(){//创建一个模型视图对象ModelAndView mav new ModelAndView();//获取到查询的数据ListCategory cs categoryService.list();// //将数据放置到ModelAndView对象view中,第二个参数可以是任何java类型mav.addObject(cs, cs);// 放入jsp路径mav.setViewName(listCategory);//返回ModelAndView对象mavreturn mav;}在jsp页面中 !-- 使用c标签库循环遍历出数据 命名为c--c:forEach items${cs} varc varStatussttrtd${c.id}/tdtd${c.name}/td/tr/c:forEach图示 jsp !-- 使用c标签库循环遍历出数据 命名为c--c:forEach items${cs} varc varStatussttrtd${c.id}/tdtd${c.name}/td/tr/c:forEach图示 jsp 效果 数据列表全部获取到
以上就是两种不同的方式取值传值从上面我们可以看得出来这两个之间还是有一定的区别的记住有一个需要返回对象一个需要返回的是地址路径。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89046.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!