SpringMVC(十六) 处理模型数据之SessionAttributes

@SessionAttributes原理

  默认情况下Spring MVC将模型中的数据存储到request域中。当一个请求结束后,数据就失效了。如果要跨页面使用。那么需要使用到session。而@SessionAttributes注解就可以使得模型中的数据存储一份到session域中。

@SessionAttributes参数

  1、names:这是一个字符串数组。里面应写需要存储到session中数据的名称。

  2、types:根据指定参数的类型,将模型中对应类型的参数存储到session中

   3、value:其实和names是一样的。

Controller参考代码:

  

package com.tiekui.springmvc.handlers;

import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.tiekui.springmvc.pojo.Address;
import com.tiekui.springmvc.pojo.User;

//http://www.cnblogs.com/caoyc/p/5635914.html
//只要是types中定义的类型,都会自动加入到sessionAttributes中。@SessionAttributes注解用于在类修饰中,而不是方法
@org.springframework.web.bind.annotation.SessionAttributes(value={"user"},types={Integer.class})
@Controller
public class SessionAttributes {

    @RequestMapping("testSessionAttributes")
    public String testSessionAttributes(Map<String, Object> map) {

        User userTk = new User();
        Address address = new Address();
        address.setCity("city");
        address.setProvince("province");
        userTk.setAge(19);
        userTk.setEmail("[email protected]");
        userTk.setPassword("test");
        userTk.setUsername("zhoutiekui");
        userTk.setAddress(address);

        map.put("user", userTk);
        map.put("age", 18);
        map.put("count", 30);

        return "testSessionAttributes";
    }
}

返回数据视图:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    sessionAtrributes: ${sessionScope.user}
    sessionAtrributes: ${sessionScope.age}
    sessionAtrributes: ${sessionScope.count}

</body>
</html>

调用视图:

<a href="testSessionAttributes">testSessionAttributes video 16</a>

本例中的添加到map的age和count都没有在SessionAtrributes的names/value值中,但是仍然可以被视SessionAttributes.

时间: 2024-12-14 18:05:08

SpringMVC(十六) 处理模型数据之SessionAttributes的相关文章

第十六课----Rsync数据同步工具

1.1.1 什么是Rsync?Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台.1.1.2 Rsync简介? Rsync英文全称Remote synchronization,从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像,远程备份的功能,这个功能类似ssh带的scp命令,但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以

[WebGL入门]十二,模型数据和顶点属性

注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中如果有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,如果翻译有误,欢迎大家指正. 顶点属性的意思 上次的文章中,介绍了一下从着色器的生成,编译,到程序对象的生成和着色器的连接.这次,简单的说一下模型数据的定义和顶点属性的处理.另外,介绍一下根据模型数据生成VBO的方法.VBO的使用要比生成难理解一些,但是不要担心,后面会慢慢说明.接下来看一下顶点属性.顶点属性,说的简单点,

SpringMVC基础学习(二)&mdash;模型数据

一.处理模型数据 1.处理模型数据的途径      SpringMVC提供以下几种途径输出模型数据:      (1)ModelAndView: 处理方法返回值类型为ModelAndView,方法体即可通过该对象添加模型数据.      (2)Map及Model: 入参为Map和Model,处理方法返回时,Map中的数据会自动添加到模型中.      (3)@SessionAttributes: 将模型中的某个属性暂存到HttpSession中,以便多个轻轻能共享这个属性.      (4)@M

学习SpringMVC(十六)之数据绑定流程

1.SpringMVC主框架将ServletRequest对象及目标方法的入参实例传递给WebDataBinderFactory实例,以创建DataBinder实例对象 2.DataBinder调用装配在SpringMVC上下文中的ConversionService组件进行数据类型转换.数据格式化工作.将Servlet中的请求信息填充到入参对象中 3.调用Validator组件对已经绑定了请求消息的入参对象进行数据合法性校验,并最终生成数据绑定结果. 4.SpringMVC抽取BindingRe

springmvc框架-如何将模型数据传递给视图 也就是Model---&gt;view参数的传递

现在我们将数据从controller层传递给view层 改造controller层代码 前端页面改造 测试: 后台打印: -前台穿过来的值是:zhao 接下来,采用第二种传值的方式进行传递:利用Model对象      org.springframework.ui.Model   可见这个类是一个ui层的类,默认情况下,如果有数据的话,是能够向前端进行传递的 代码改造; 后台打印: -前台穿过来的值是:yong 如果Model不指定键的话,前台默认按照数据的类型进行获取 向前台传递对象信息 原文

SpringMVC:模型数据解析

SpringMVC框架作为一个MVC框架,很重要的一项工作是在控制器获取模型数据并返回给客户端,即在JSP页面展示模型数据,使用的技术是通过EL表达式从域对象中取值. 在Servlet中,我们可以直接调用web资源给域对象传值,在SpringMVC框架中,如何完成这个操作?今天我们就来学习SpringMVC框架的模型数据绑定. 首先来理解这句话,模型数据的绑定,指将模型数据绑定给JSP域对象,回顾一下域对象有哪些? JSP四大作用域对应的四个内置对象分别是 pageContext,request

SpringMVC(十五) RequestMapping map模型数据

控制器中使用map模型数据,传送数据给视图. 控制器参考代码: package com.tiekui.springmvc.handlers; import java.util.Arrays; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.sun.xml.

SpringMVC:学习笔记(4)——处理模型数据

SpringMVC-处理模型数据 说明 SpringMVC 提供了以下几种途径输出模型数据: – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model:入参为org.springframework.ui.Model.org.springframework.ui.ModelMap 或 Java.uti.Map 时,处理方法返回时,Map中的数据会自动添加到模型中. – @SessionAttributes: 将模型

SpringMVC处理模型数据

1. 所谓处理模型数据:把 action 方法中返回的对象,集合如何放入到域对象中. 1). 域对象:pageContext, request, session, application 2. Spring MVC 提供了以下几种途径输出模型数据: 1)ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据 @RequestMapping("/testModelAndView" ) public ModelAndView te