3.1.void
处理器对请求处理后,无需跳转到其它任何资源,此时可以让处理器方法返回 void。
Controller编写:
@Slf4j @Controller @RequestMapping("/csdn") public class IndexController { @RequestMapping("/return01") public void return01(HttpServletResponse resp){ Map<String,Object> map=new HashMap<>(); map.put("code",200); map.put("msg","成功添加。。。"); try { ResponseUtil.writeJson(resp,map); } catch (Exception e) { e.printStackTrace(); } } }
网页效果:
3.2.String
通过http://localhost:8080/Spring_MyBatis/csdn/return02访问请求方法,并经过视图解析器跳转指定页面。
Controller编写:
@Slf4j @Controller @RequestMapping("/csdn") public class IndexController { @RequestMapping("/return02") public String return02( ){ return "hello"; } }
网页效果:
3.3.String+Model
通过http://localhost:8080/Spring_MyBatis/csdn/return03访问请求方法,并经过视图解析器跳转指定页面。
Controller编写:
@Slf4j @Controller @RequestMapping("/csdn") public class IndexController { @RequestMapping("/return03") public String return03(Model Model,HttpServletRequest req){ Model.addAttribute("name","Java方文山"); req.setAttribute("age",18); return "hello"; } }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 💖Hello Spring MVC💖 <br> 用户名:${name} 年龄:${age} </body> </html>
网页效果:
3.4.ModelAndView
Controller编写:
@Slf4j @Controller @RequestMapping("/csdn") public class IndexController { @RequestMapping("/return04") public ModelAndView return04(){ ModelAndView mv=new ModelAndView(); mv.addObject("name","湖南彭于晏"); mv.addObject("age",18); mv.setViewName("hello"); return mv; } }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 💖Hello Spring MVC💖 <br> 用户名:${name} 年龄:${age} </body> </html>
网页效果:
四、页面跳转
转发(forward:path)和重定向(redirect:path)这两种跳转方式将会绕开视图解析器的前缀和后缀;还有就是如果是在同一controller中则不用使用"/"从根目录开始,而如果是在不同的controller则一定要从根目录开始。
4.1.转发forward
- 当前类
Controller编写:
// 转发到当前类 @RequestMapping("/forward01") public String forward01(){ return "forward:return02"; } @RequestMapping("/return02") public String return02( ){ return "hello"; }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 💖Hello Spring MVC💖 <br> 用户名:${name} 年龄:${age} </body> </html>
网页效果:
- 其他类
Controller编写:
// 转发到其他类 @RequestMapping("/forward02") public String forward02(){ return "forward:/hello/requestTest"; } @Controller @RequestMapping("/hello") public class hello { @RequestMapping("/requestTest") public String Hello(){ return "text"; } }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 你好我是其他类跳转过来的 </body> </html>
网页效果:
4.2.重定向redirect
- 当前类
Controller编写:
// 重定向到当前类 @RequestMapping("/redirect01") public String redirect01(){ return "redirect:return02"; } @RequestMapping("/return02") public String return02( ){ return "hello"; }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 💖Hello Spring MVC💖 <br> 用户名:${name} 年龄:${age} </body> </html>
网页效果:
- 其他类
Controller编写:
// 重定向到其他类 @RequestMapping("/redirect02") public String redirect02(){ return "redirect:/hello/requestTest"; } @Controller @RequestMapping("/hello") public class hello { @RequestMapping("/requestTest") public String Hello(){ return "text"; } }
JSP页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 你好我是其他类跳转过来的 </body> </html>
网页效果:
到这里我的分享就结束了,欢迎到评论区探讨交流!!
💖如果觉得有用的话还请点个赞吧 💖