博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC SessionAttributes 简述
阅读量:5167 次
发布时间:2019-06-13

本文共 1182 字,大约阅读时间需要 3 分钟。

使用SpringMVC时,我们会发现网络上有关SessionAttributes注解的内容非常少,更多的人甚至推荐你继续用HttpServletRequest中的session管理方法来控制Session,这对于我这种能用注解连配置文件都不会去用的人来说太不优雅了。所以简单讲讲怎么用。

在Controller类上,可以加标签来控制,使该类支持SessionAttributes,具体例子如下:

@SessionAttributes("accountNumber")public class UserController {    //Something}

如果有多个值想存入session,则需这样调用:

@SessionAttributes({"accountNumber","userDevice"})

加入标签后,当你在方法中将key为"userId"的内容添加到model中时,该key-value对就会进入session,如下,在该例子中,我们从收到的信息中解析出accountNumber添加到model中,此时,该key-value对被添加到session中。

@RequestMapping(value = "login", method = RequestMethod.POST)    public String login(@RequestBody String mapString, Model model) throws Exception {        //Something        model.addAttribute("accountNumber", accountNumber);        //Something    }

如果我们想调用该session中值,有两种方法:

  • 从model参数中获取。
  • 使用@ModelAttribute(key)的方法去获取。

这里就第二个用法举例:

@RequestMapping("display")    public String display(@ModelAttribute("accountNumber") String accountNumber) throws Exception {        //Something        UserEntity userEntity = userService.findByAccountNumber(accountNumber);        //Something    }

在使用了@ModelAttribute标签后,我们可以获取model中已经存有的来自session的这组key-value对。

转载于:https://www.cnblogs.com/cielosun/p/6741246.html

你可能感兴趣的文章
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>
Java Scala获取所有注解的类信息
查看>>
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>
11.28.cookie
查看>>
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
ES5_03_Object扩展
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>
创建数据库,表
查看>>
工厂模式
查看>>
计算机网络基础知识
查看>>
C#里如何遍历枚举所有的项
查看>>
如何在键盘出现时滚动表格,以适应输入框的显示
查看>>
超级强大的鼠标手势工具
查看>>