温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringMVC数据页响应ModelAndView如何实现页面跳转

发布时间:2022-07-11 09:29:52 来源:亿速云 阅读:468 作者:iii 栏目:开发技术

这篇文章主要介绍“SpringMVC数据页响应ModelAndView如何实现页面跳转”,在日常操作中,相信很多人在SpringMVC数据页响应ModelAndView如何实现页面跳转问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringMVC数据页响应ModelAndView如何实现页面跳转”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SpringMVC的数据响应方式

①页面跳转

  • 直接返回字符串(如在一个方法中,return了一个"xxx.jsp",就会转发到那个jsp页面中,这就是直接返回字符串的形式)

  • 通过ModelAndView对象返回

②回写数据

  • 直接返回字符串(相当于在javaweb里的resp.getwrite(),print)

  • 返回对象或集合  

页面跳转

1、返回字符串形式

直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。

SpringMVC数据页响应ModelAndView如何实现页面跳转

 返回带有前缀的字符串:

转发:forward:/WEB_INF/views/index.jsp(forward可以省略不写)
重定向:redirect:/index.jsp

2、返回ModelAndView对象

方式1:直接new对象

//配置类,使用注解把这个类放到容器中 @Controller @RequestMapping(value="KongChao") public class userController {     @RequestMapping(value = "/ZengHui2")     public ModelAndView save2(){         /*         Model 模型 作用是封装数据         View  视图 作用是展示数据          */         ModelAndView modelAndView=new ModelAndView();         //设置模型数据(键值对,键为String,值为Oject)         modelAndView.addObject("username", 1);         //设置视图名字         modelAndView.setViewName("KCandZH");//经过前后缀拼接就位/jsp/KCandZH.jsp         return modelAndView;     } }

在jsp包下的KCandZH.jsp中

<html> <head>     <base href="<%=basepath %>" rel="external nofollow" />     <meta charset="utf-8"/>     <title>Insert title here</title> </head> <body> kCandZH forever  ${username} </body> </html>

加上一个El表达式,这样浏览器访问localhost:8080/KongChao/ZengHui2,就会显示出kCandZH forever  1

SpringMVC数据页响应ModelAndView如何实现页面跳转

 方式2:写在方法里让SpringMVC创建

也可以不new对象的方式,在方法中直接写model对象,SpringMVC会自动帮你创建

//配置类,使用注解把这个类放到容器中 @Controller @RequestMapping(value="KongChao") public class userController {       @RequestMapping(value = "/ZengHui3")     public ModelAndView save3( ModelAndView modelAndView){         //设置模型数据(键值对,键为String,值为Oject)         modelAndView.addObject("username", "babala");         //设置视图名字         modelAndView.setViewName("KCandZH");//经过前后缀拼接就位/jsp/KCandZH.jsp         return modelAndView;     } }

方式3:model和view分开做

model是SpringMVC框架封装好的

//配置类,使用注解把这个类放到容器中 @Controller @RequestMapping(value="KongChao") public class userController {     @RequestMapping(value = "/ZengHui4")     public String save4(Model model){//是model         //设置模型数据(键值对,键为String,值为Oject)       model.addAttribute("username","曾慧");         return "KCandZH";//是view       } }

方式4:通过HttpServletRequest

//配置类,使用注解把这个类放到容器中 @Controller @RequestMapping(value="KongChao") public class userController {     @RequestMapping(value = "/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如何实现页面跳转”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI