【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)

简介: 【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)

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>

网页效果:

 

到这里我的分享就结束了,欢迎到评论区探讨交流!!

💖如果觉得有用的话还请点个赞吧 💖

相关文章
|
3月前
|
前端开发 Java Spring
Spring MVC核心:深入理解@RequestMapping注解
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的核心,它将HTTP请求映射到控制器的处理方法上。本文将深入探讨`@RequestMapping`注解的各个方面,包括其注解的使用方法、如何与Spring MVC的其他组件协同工作,以及在实际开发中的应用案例。
67 4
|
3月前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
234 2
|
3月前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
84 2
|
3月前
|
前端开发 Java 开发者
Spring MVC中的控制器:@Controller注解全解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序控制层的核心。它不仅简化了控制器的定义,还提供了灵活的请求映射和处理机制。本文将深入探讨`@Controller`注解的用法、特点以及在实际开发中的应用。
169 0
|
9月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】
|
9月前
|
前端开发 Java 关系型数据库
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
117 0
|
8月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
156 1
|
8月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
8月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18
|
8月前
|
应用服务中间件
从代码角度戳一下springMVC的运行过程-spring16
从代码角度戳一下springMVC的运行过程-spring16