zoukankan      html  css  js  c++  java
  • 页面间传递前端请求参数和获取参数:Model model,HttpServletRequest request, ModelMap map参数使用与区别

    Model model, HttpServletRequest request, ModelMap map声明变量

    一、下面的方法是需要将请求发过来的数据(或者说参数)传递到重定向的页面/转发的页面的时候,就要用到

    1.request.getSession().setAttribute("test", "张三"); //先获取session,然后把值放到session里面(session不关,在哪都能取到)
    2.request.setAttribute("test", "张三"); //把值放到request里面(只能在同一个request请求里取到值)
    3.map.addAttribute("test", "张三"); //把值放到ModelMap里面
    4.model.addAttribute("test", "张三"); //把值放到Model里面

    二、下面是重定向的页面/转发的页面需要取上一页面传递过来的值时用下面的方法:
    与上面对应的取值方式是:

    1.request.getSession().getAttribute("test")

    2.request.getAttribute("test")

    3.${test}

    4.${test}

    需要注意${test}这个取值方式对以上四种都适用,但取值的优先级不同,优先取Model和ModelMap的,Model和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是request,最后是从session中获取


    三、有几点需要说明与注意:

    1.关于request请求,生命周期为 :发送连接请求——收到回复 至此request请求就失效了,放到里面的值也就取不到了;

    2.而session不同,只要session会话不结束,session里面的值会一直存在(在不同请求页面都要用到的值我们一般都放到session里)

    3.但是,session里的值会被替换,例如:

    request.getSession().setAttribute("test", "张三");

    request.getSession().setAttribute("test", "李四");

    这时session中test属性对应的值就换成了"李四"

    4.上面对应的4种,都存在被替换

  • 相关阅读:
    将微信小程序上传到公司的账号下
    当HBuilderX运行时打不开微信开发者工具时
    vue路径中去掉#
    初次快速使用git
    小米商城应用效果(阴影效果)
    如何使用hover点击一个元素使另一个颜色变色
    Open browser failed!! Please check if you have installed the browser correct
    vue中解决跨域问题
    vue中如何实现点击动态切换样式
    es5中数组的迭代方法 forEach,map,filter,some,every
  • 原文地址:https://www.cnblogs.com/zhanglijun/p/10026828.html
Copyright © 2011-2022 走看看