SpringMVC数据页响应ModelAndView实现页面跳转
SpringMVC的数据响应
SpringMVC的数据响应方式
①页面跳转
- 直接返回字符串(如在一个方法中,return了一个"xxx.jsp",就会转发到那个jsp页面中,这就是直接返回字符串的形式)
- 通过ModelAndView对象返回
- 直接返回字符串(相当于在javaweb里的resp.getwrite(),print)
- 返回对象或集合
1、返回字符串形式
直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。
文章图片
返回带有前缀的字符串:
转发:forward:/WEB_INF/views/index.jsp(forward可以省略不写)
重定向:redirect:/index.jsp
2、返回ModelAndView对象
方式1:直接new对象
//配置类,使用注解把这个类放到容器中@Controller@RequestMapping(value="https://www.it610.com/article/KongChao")public class userController {@RequestMapping(value = "https://www.it610.com/ZengHui2")public ModelAndView save2(){/*Model 模型 作用是封装数据View视图 作用是展示数据*/ModelAndView modelAndView=new ModelAndView(); //设置模型数据(键值对,键为String,值为Oject)modelAndView.addObject("username", 1); //设置视图名字modelAndView.setViewName("KCandZH"); //经过前后缀拼接就位/jsp/KCandZH.jspreturn modelAndView; }}
在jsp包下的KCandZH.jsp中
Insert title here - 锐客网 kCandZH forever${username}
加上一个El表达式,这样浏览器访问localhost:8080/KongChao/ZengHui2,就会显示出kCandZH forever1
文章图片
方式2:写在方法里让SpringMVC创建
也可以不new对象的方式,在方法中直接写model对象,SpringMVC会自动帮你创建
//配置类,使用注解把这个类放到容器中@Controller@RequestMapping(value="https://www.it610.com/article/KongChao")public class userController { @RequestMapping(value = "https://www.it610.com/ZengHui3")public ModelAndView save3( ModelAndView modelAndView){//设置模型数据(键值对,键为String,值为Oject)modelAndView.addObject("username", "babala"); //设置视图名字modelAndView.setViewName("KCandZH"); //经过前后缀拼接就位/jsp/KCandZH.jspreturn modelAndView; }}
方式3:model和view分开做
model是SpringMVC框架封装好的
//配置类,使用注解把这个类放到容器中@Controller@RequestMapping(value="https://www.it610.com/article/KongChao")public class userController {@RequestMapping(value = "https://www.it610.com/ZengHui4")public String save4(Model model){//是model//设置模型数据(键值对,键为String,值为Oject)model.addAttribute("username","曾慧"); return "KCandZH"; //是view }}
方式4:通过HttpServletRequest
//配置类,使用注解把这个类放到容器中@Controller@RequestMapping(value="https://www.it610.com/article/KongChao")public class userController {@RequestMapping(value = "https://www.it610.com/ZengHui5")public String save5(HttpServletRequest request){//是model//设置模型数据(键值对,键为String,值为Oject)request.setAttribute("username","kckckc"); return "KCandZH"; }}
方式3和方式4的区别,model是SpringMVC封装好的,而HttpServletRequest是原生的javaweb,是由tomcat服务器产生的,这个产生的对象中有数据,有http请求的数据(请求行,请求体....),model对象则是空的。方式4不常用【SpringMVC数据页响应ModelAndView实现页面跳转】到此这篇关于SpringMVC数据页响应ModelAndView实现页面跳转的文章就介绍到这了,更多相关SpringMVC页面跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- mock数据和后端请求接口如何共存
- 数据结构|数据结构学习笔记(第六章 图)
- 数据结构与算法|数据结构之什么是算法()
- C数据结构|C数据结构(哈夫曼树算法实现与应用)
- thingsboard|ThingsBoard 使用 REST API HTTP 方法获取遥测数据 属性数据等
- ESP8266|ESP8266使用AT命令上传数据到ONE NET(HTTP方式)
- 1-3|1-3 用户,组织和项目页面
- 纯C详解数据结构|详解线性表——顺序表【一看完,诶,发现我已经掌握顺序表核心了】
- 数据结构|数据结构(图(Graph)【详解】)
- 数据结构|数据结构(树(Tree)【详解】)