SpringMVC的返回值类型(六)下

简介: SpringMVC的返回值类型(六)

八.一 与返回Model 和返回ModelMap 一样,也是url 来控制的。


@RequestMapping(value="/login")
  public void toLogin(Model model){
    model.addAttribute("name","两个蝴蝶飞返回void设置值");
  }


前台展示:


20190819174118462.png


这个时候,如何在方法中强行用request 域设置转发或者是重定向呢?


八.二 强行转发或者是重定向


@RequestMapping(value="/toLogin")
  public void toLogin(Model model,HttpServletRequest request,HttpServletResponse response){
    model.addAttribute("name","两个蝴蝶飞返回void设置值");
    try {
      request.getRequestDispatcher("/login").forward(request, response);
    } catch (ServletException e) {
      // TODO 自动生成的 catch 块
      e.printStackTrace();
    } catch (IOException e) {
      // TODO 自动生成的 catch 块
      e.printStackTrace();
    }
  }


前台展示:


2019081917412667.png


发现,这样操作是不行的。


需要把全部的路径都带上。


@RequestMapping(value="/toLogin")
  public void toLogin(HttpServletRequest request,HttpServletResponse response){
    try {
      request.setAttribute("name","两个蝴蝶飞返回void设置request值");
      request.getRequestDispatcher("/WEB-INF/jsp/user/login.jsp").forward(request, response);
    } catch (ServletException e) {
      // TODO 自动生成的 catch 块
      e.printStackTrace();
    } catch (IOException e) {
      // TODO 自动生成的 catch 块
      e.printStackTrace();
    }
  }


而且,注意,这个时候就不能用 Model 来设置值了, 只能用request 来设置值。 完全变成了Servlet+JSP的阶段了。


前台展示:


20190819174134588.png


可以在里面继续写, 上面是转发, 也可以进行重定向, 当然也可以返回JSON 数据。


九. JSON 方法返回值


前面可以看到,可以返回多种形式,如Model,ModelAndView,String,void 等,但它们都是跳转的页面,有相应的视图名称, SpringMVC 中也可以进行 JSON的数据形式传输,那么这个时候,就可以采用其他的形式了。


需要用 @ResponseBody 注解或者是 ResponseEntity


返回的形式是: 自定义的实体对象 或者是ResponseEntity . 这个会在JSON 章节来详细讲解。


也可以返回 void.


十. SpringMVC 中参数的类型


可以简单分为几大类。 只说一下常用的。


十.一 与Web,Servlet 有关的


javax.servlet.ServletRequest  或者是  javax.servlet.http.HttpServletRequest
javax.servlet.ServletResponse 或者是 javax.servlet.http.HttpServletResponse  
javax.servlet.http.HttpSession
springmvc 又扩展了两个。
org.springframework.web.context.request.WebRequest 
或者是  org.springframework.web.context.request.NativeWebRequest 


十.二 读写与打印的


java.io.InputStream或java.io.Reader
java.io.OutputStream或java.io.Writer
java.security.Principal
HttpEntity<?>


十.三 国际化


java.util.Locale


十.四 SpringMVC 封装数据


java.util.Map
org.springframework.ui.Model
org.springframework.ui.ModelMap


十.五 SpringMVC 提供的其他工具


org.springframework.web.servlet.mvc.support.RedirectAttributes
org.springframework.validation.Errors
org.springframework.validation.BindingResult
org.springframework.web.bind.support.SessionStatus
org.springframework.web.util.UriComponentsBuilder


十.六 SpringMVC 参数所用注解


@PathVariable、@@MatrixVariable
@RequestParam、@RequestHeader、@RequestBody、@RequestPart


谢谢!!!

相关文章
SpringMVC-5种类型参数传递
SpringMVC-5种类型参数传递
154 0
|
Java 测试技术 数据库
测试用例的基本要素 && properties配置文件 && 测试用例的基本要素 && SpringMVC背景知识 && 按照开发阶段划分测试类型
测试用例的基本要素 && properties配置文件 && 测试用例的基本要素 && SpringMVC背景知识 && 按照开发阶段划分测试类型
117 0
|
应用服务中间件 数据库
46SpringMVC - 参数绑定(绑定pojo类型)
46SpringMVC - 参数绑定(绑定pojo类型)
126 0
45SpringMVC - 参数绑定(绑定简单类型)
45SpringMVC - 参数绑定(绑定简单类型)
104 0
|
JSON 数据格式
SpringMVC-接收请求中的json数据及日期类型参数传递
SpringMVC-接收请求中的json数据及日期类型参数传递
338 0
|
前端开发 Java API
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
225 0
|
前端开发 Java Spring
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
这篇文章通过示例代码展示了如何在Spring MVC中编写和注册拦截器,以及如何在拦截器的不同阶段添加业务逻辑。
SpringMVC种通过追踪源码查看是哪种类型的视图渲染器(一般流程方法)
|
Java Spring
SpringMVC中请求传输的各种类型参数分析
SpringMVC中请求传输的各种类型参数分析
139 0
43SpringMVC - 参数绑定(默认支持的参数类型)
43SpringMVC - 参数绑定(默认支持的参数类型)
112 0
|
JSON 前端开发 Java
SpringMVC 方法三种类型返回值总结,你用过几种?
SpringMVC 方法三种类型返回值总结,你用过几种?