使用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对。

SpringMVC SessionAttributes 简述的更多相关文章

  1. SpringMVC @SessionAttributes注解

    @SessionAttributes 注解只能作用到类上 @SessionAttributes(value={"user"},types={String.class}) @Sess ...

  2. SpringMVC @SessionAttributes 使用

    @SessionAttributes 只能作用在类上,作用是将指定的Model中的键值对添加至session中,方便在下一次请求中使用. 简单示例 目标是通过 @SessionAttributes 注 ...

  3. SpringMVC @SessionAttributes 使用详解以及源码分析

    @sessionattributes @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Docum ...

  4. “过时”的SpringMVC我们到底在用什么?深入分析DispatchServlet源码

    之前已经分析过了Spring的IOC(<零基础带你看Spring源码--IOC控制反转>)与AOP(<从源码入手,一文带你读懂Spring AOP面向切面编程>)的源码,本次就 ...

  5. SpringMVC中的常用注解

    RequestParam 作用: 用于  将请求参数区数据  映射到  功能处理方法的参数上. 属性: value  请求参数中的名称 required   请求参数中是否必须提供此参数. 默认值: ...

  6. SpringMVC实例及注解(二)

    @RequestMapping()除了修饰方法,还可以修饰类1.类定义处:提供初步的请求映射信息.相对于WEB应用的根目录2.方法处:提供进一步的细分映射信息.相对于类定义处的URL.若类定义处未标注 ...

  7. Spring MVC 学习笔记(二)

    6. 视图和视图解析器  ❤  Spring MVC如何解析视图                                  • 请求处理方法执行完成后,最终返回一个ModelAndView对象 ...

  8. Spring MVC 学习笔记(一)

    • 1.SpringMVC概述 • 2.SpringMVC的HelloWorld • 3.使用@RequestMapping映射请求 • 4.映射请求参数&请求头 • 5.处理模型数据 • 6 ...

  9. 在SpringMVC中使用@SessionAttributes和@ModelAttribute将数据存储在session域中

    今天在我的springMVC项目--图书管理系统中,希望在登录时将登录的Users存在session中,开始是准备在controller中使用Servlet API中的对象,可是一直无法引用,不知道为 ...

随机推荐

  1. (六十一)Xcode的git版本控制

    打开终端 1.为项目添加git: 首先到达项目的根目录内部,输入git init,初始化一个空的代码仓库(隐藏文件.get). 接下来使用git add . --all .表达把当前目录及子目录中的文 ...

  2. 《java入门第一季》之LinkList模拟桟结构案例

    需求:请用LinkedList模拟栈数据结构的集合,并测试 题目的意思是: 你自己的定义一个集合类,在这个集合类内部可以使用LinkedList模拟. 定义一个类叫MyStack代码如下: packa ...

  3. Cygwin获取root权限

    .启动cygwin进入以后,就会以真正的root权限运行了.

  4. MySQL正则表达式初步

    如果想要了解完整的MySQL手册, 请访问: MySQL 5.1参考手册 你还可以学习: MySQL学习精粹 我们知道,在SQL之中,可以用 like 这个谓词(表达式) 来进行模糊检索,并支持 %, ...

  5. Android Notification 版本适配方案

    Notification 介绍见:https://developer.android.com/reference/android/app/Notification.html Android api 一 ...

  6. 苹果新的编程语言 Swift 语言进阶(四)--字符串和收集类型

    一.字符串( String  )和字符类型(Character) 字符串是一种字符的带次序的收集类型(相当于数组),字符是字符串中的元素. 在Swift 语言中,字符串是编码独立的Unicode字符的 ...

  7. Oracle数据库容灾备份技术探讨

    Oracle数据库容灾备份技术探讨 三种Oracle灾备技术 对于Oracle数据库的灾备技术,我们可以从Data Guard,GoldenGate和CDP角度去考虑. Oracle Data Gua ...

  8. 机房收费系统之导出Excel

            刚开始接触机房收费的时候,连上数据库,配置ODBC,登陆进去,那窗体叫一个多,不由地有种害怕的感觉,但是有人说,每天努力一点点,就会进步一点点,不会的就会少一点点,会的就会多一点点.. ...

  9. 【45】java的封装剖析

    类是构造对象的模板或蓝图. 封装的一些概念 从形式上看,封装不过是将数据和行为组合到一个包中,并对对象的使用者隐藏了数据的实现形式. 每个对象都包含实例域和方法.实例域的集合代表了一个集合的状态,通过 ...

  10. OpenCV——PS 图层混合算法 (二)

    具体的算法原理可以参考 PS图层混合算法之二(线性加深,线性减淡,变亮,变暗) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS ...