springmvc之处理模型数据SessionAttributes注解
时间:2022-07-23
本文章向大家介绍springmvc之处理模型数据SessionAttributes注解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ModelAndView和Map都是将数据模型放到请求域request中。
(1)若希望在多个请求之间共用某个数据模型属性数据,可以在控制器类上加一个@SessionAttributes。springmvc会将在模型中对应的属性存到HttpSession中。
(2)@SessionAttributes除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中。
SpringmvcTest.java
@SessionAttributes(value={"user"},types= {String.class})
@RequestMapping("/springmvc")
@Controller
public class SpringmvcTest {
private static final String SUCCESS = "success";
@RequestMapping(value="/testSessionAttributes")
public String testSessionAttributes(Map<String,Object> map) {
User user = new User();
user.setUsername("tom");
user.setAge(12);
map.put("user", user);
map.put("school", "一中");
System.out.println("testSessionAttributes");
return SUCCESS;
}
}
index.jsp
<a href="springmvc/testSessionAttributes">testSessionAttributes</a>
success.jsp
<p>Success</p>
<p>request user:${requestScope.user}</p>
<p>session user:${sessionScope.user}</p>
<p>request school:${requestScope.school}</p>
<p>session school:${sessionScope.school}</p>
在启动服务器之后:
点击:
说明: SessionAttributes注解只能修饰类,value属性用于将指定名字的属性放入到session中。types属性将指定的数据类型放到session中。在jsp中,利用requestScope(请求域)可以取得传过来的模型数据,利用sessionScope(会话域)来获取session中的数据。如果不利用SessionAttributes,那么数据模型就只会存放在request中,在session中不会有相应的数据。
- 如何突破Windows环境限制打开“命令提示符”
- 【Spark研究】Spark之工作原理
- Java中泛型使用的必要性
- “一切都是消息”--MSF(消息服务框架)之【发布-订阅】模式
- Android基础总结(4)——广播接收器
- “一切都是消息”--MSF(消息服务框架)之【请求-响应】模式(点对点)
- “老坛泡新菜”:SOD MVVM框架,让WinForms焕发新春
- 解决服务器SID引起虚拟机不能加入AD域用户,无法远程登录的问题
- 【Python环境】如何使用 Docker 快速配置数据科学开发环境?
- Java中UUID的2种创建方法——有代码实例
- 使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)
- Android基础总结(3)——UI界面布局
- 常见.NET功能代码汇总 (2)
- 问题系列之Java中删除有序List的重复数据——提供两种方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- LNMP架构应用实战—Nginx反向代理负载均衡配置
- python第六课——判断结构
- MySQL数据库入门——备份数据库
- python第七课——循环结构 while
- python第八课——random模块的使用
- python第九课——while死循环
- python第十课——循环结构收尾
- python第十二课——for in循环
- Linux系统实战——批量无人值守安装操作系统
- python第十三课——嵌套循环
- python第十四课--排序及自定义函数
- python第十四课--排序及自定义函数之案例一:选择排序
- python第十四课--排序及自定义函数之案例二:冒泡排序
- python第十四课--排序及自定义函数之自定义函数(案例一)
- python第十四课--排序及自定义函数之自定义函数(案例二)