• 重定向/请求转发


    重定向:

    重定向有几种方式:

    1.通过response对象

    2.在返回的字符串中加上redirect:表示重定向请求 比如:

    1. public String page(){
    2. return "index";
    3. }
    4. public String redirect(){
    5. return "redirect:/index";
    6. }

    page方法返回的是逻辑视图名称

    redirect方法是重定向请求

    重定向携带数据RedirectAttributes:

    controller层需要重定向到指定页面时,如何携带数据?

    传统使用session

    使用RedirectAttributes (利用session原理)【优点:提供了addFlashAttribute等方法,确保数据只能被使用一次后删除】

    1. @PostMapping("/regist")
    2. public String register(RedirectAttributes attribdatautes){
    3. int data = 1;
    4. attributes.addFlashAttribute("data",data);
    5. return "redirect:/index";
    6. }

    使用:

    直接在handler的参数中添加RedirectAttributes

    addFlashAttribute会重定向到下一个页面取出这个数据以后,将session里面的数据删除

    ModelAndView:

    其中model表示数据,view表示视图;这两个都是可以设置的,如果不设置view,那么就会使用默认的view,如果不设置model,那么就不会有数据传递到视图层

    -默认视图,当前的请求的URL

    ResponseBody:

    返回值转换成字符串,响应给客户端

            返回值是一个对象,会被转换成json字符串,响应给客户端

            如果返回的是字符串,那么就会直接响应给客户端

    如果每一个 handler 方法都需要返回 json 字符串,那么就可以在类上面添加一个注解 @ResponseBody ,这样每一个方法都会返回json 字符串
    类上面注解 @Controller 以及 @ResponseBody 一起使用,就相当于 @RestController
  • 相关阅读:
    基于ubuntu1604的ROS安装
    【Java】二月份有多少天?
    威伦触摸屏TK6060IP简单例子
    【Linux网络】ssh服务与配置,实现安全的密钥对免密登录
    uni-app 之 获取网络列表数据
    Linux基础命令[25]-groupadd
    CSS---div盒子模型、相对绝对位置、float浮动、清除浮动
    c#仿热血江湖
    Springboot 基本概念
    树莓派+超声波模块测距
  • 原文地址:https://blog.csdn.net/lzpyy/article/details/134270589