`

处理模型数据之SessionAttributes注解

阅读更多

1、若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个@SessionAttributes注解, SpringMVC将在模型中对应的属性暂存到HttpSession中,该注解只能放在类的上面,而不能修饰方法。

2、@SessionAttributes除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中
(1)@SessionAttributes(types=User.class) 会将隐含模型中所有类型为User.class的属性添加到会话中
(2)@SessionAttributes(value={"username", "password"})
(3)@SessionAttributes(types={User.class, Dept.class})
(4)@SessionAttributes(value={"username", "password"},types={Dept.class})

 

3、控制器类TestRequestMappingController.java

package com.springmvc.web.controller;

import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.springmvc.bean.UserBean;

@SessionAttributes(value={"username","password"},types=UserBean.class)
@Controller
@RequestMapping("/springmvc")
public class TestRequestMappingController {

	@RequestMapping("/testSessionAttributes")
	public String testSessionAttributes(Map<String, Object> map) {
		map.put("username", "lipiaoshui");
		map.put("password", "123456");
		UserBean user = new UserBean("zhangsan", "111111", 20);
		map.put("user", user);
		return "success";
	}
	
}

 

4、访问代码

<a href="<%=path%>/springmvc/testSessionAttributes">Test SessionAttributes</a>

 

5、显示层代码

request username: ${requestScope.username }<br>
request password: ${requestScope.password }<br>
session username: ${sessionScope.username }<br>
session password: ${sessionScope.password }<br>
request user:${requestScope.user }<br>
sessin user:${sessionScope.user }<br>

 

6、显示效果

 

  • 大小: 6.2 KB
分享到:
评论

相关推荐

    Spring MVC SessionAttributes注解.docx

    在Spring MVC框架中,`@SessionAttributes`是一个非常重要的注解,它允许开发者将特定的模型数据持久化到HTTP会话(session)中,以便在多个请求之间共享这些数据。通常,模型数据在请求完成后就会从内存中清除,但...

    SSM笔记-处理模型数据

    本文主要围绕"SSM笔记-处理模型数据"这一主题,深入探讨ModelAndView、ModelAttribute以及SessionAttributes在SpringMVC中的应用。 首先,我们来理解ModelAndView。在SpringMVC中,Controller处理完业务逻辑后,...

    SpringMVC处理模型数据-2.docx

    `ModelAndView`是SpringMVC中最传统的模型数据处理方式之一。它允许开发者在一个对象中同时传递模型数据和视图信息。当控制器方法返回一个`ModelAndView`对象时,该对象中的模型数据会被放入`Request`域对象中,并与...

    SpringMVC处理模型数据.docx

    在Spring MVC框架中,模型数据的处理是核心功能之一,它允许开发者将处理结果传递给视图层进行渲染。在通常情况下,模型数据是通过`ModelAndView`、`Map`或者`Model`接口来存储,并在请求之间进行传递。然而,如果...

    springmvc处理模型数据ModelAndView过程详解

    在SpringMVC框架中,ModelAndView是处理模型数据的主要方式之一。ModelAndView是SpringMVC框架中的一种返回值类型,它可以用来封装模型数据和视图信息。下面是一个使用ModelAndView处理模型数据的示例代码: ```...

    SpringMVC示例

    RequestParam 注解、RequestHeader 注解、CookieValue 注解、使用POJO作为参数(属性与页面自动匹配及级联)、使用Servlet原生API作为参数、处理模型数据(ModelAndView、Map、SessionAttributes 注解)、...

    SpringMVC Employee Demo

    本次实践内容包括RequestMapping关键字修饰类和方法(请求方式、请求参数&...处理模型数据(ModelAndView、Map、SessionAttributes注解)、ModelAttribute注解如修饰POJO类型的入参、SessionAttributes注解引发的异常...

    SpringMVC-4 处理模型数据

    通过ModelAndView、Map与Model、@SessionAttributes和@ModelAttribute注解来处理模型数据;其中,@ModelAttribute是重点,说明其运行流程并进行代码分析,最终给出SpringMVC目标方法的POJO类型参数的入参全过程,并...

    Spring3MVC注解教程.ppt

    访问数据模型:@SessionAttributes 一场由@SessionAttributes引发的血案... 如何避免@SessionAttributes引发的血案 目录 Spring MVC如何解析视图 视图解析器类型 基于协商的视图解析器 目录 本地化:基础原理...

    源代码下载——第七章 注解式控制器的数据验证、类型转换及格式化

    此外,Spring MVC的`ModelAndView`对象用于在控制器方法中组合模型数据和视图名。你可以在这里指定要渲染的视图,以及附加到模型中的任何数据。这使得业务逻辑和视图呈现得以分离,提高了代码的可维护性。 在实际...

    基于注解驱动的 Spring MVC

    2. **@ModelAttribute** 注解:虽然在示例中没有使用,但 @ModelAttribute 是 Spring MVC 中处理模型数据的重要注解。它通常用于方法参数前,用于将请求参数绑定到模型对象,或者从模型中获取已存在的对象。 3. **@...

    SpringMVC基础—— ModelAttribute和 SessionAttribute.docx

    // 这里处理@SessionAttributes注解的属性 } // 接下来处理@ModelAttribute注解的方法 for (ModelAttributeMethodProcessor methodProcessor : this.modelAttributeProcessors) { if (methodProcessor....

    springMVC注解大全

    在方法参数前加上此注解,Spring MVC会尝试从请求中获取数据填充模型对象。 7. `@ResponseBody`:这个注解告诉Spring MVC,方法的返回值应直接写入HTTP响应体,而不是寻找一个视图进行渲染。通常用于返回JSON或XML...

    SpringMVC 常用注解类视频详解

    在Spring MVC框架中,注解是实现控制器、数据绑定、模型映射等核心功能的关键元素。这些注解简化了代码,使得开发更加高效且易于维护。以下是对Spring MVC常用注解的详细解释: 1. `@Controller`:这是定义一个类...

    Spring MVC的常用注解

    8. `@ModelAttribute`:用于将请求参数绑定到模型对象,常用于表单数据的处理。它可以与`@RequestMapping`结合使用,将数据自动填充到模型对象中。 9. `@InitBinder`:这个注解用于自定义数据绑定行为,例如设置...

    SpringMVC ModelAndView、Model及Map、@SessionAttributes场景与应用

    当你在控制器方法中创建一个`ModelAndView`实例时,可以向其中添加模型数据(即业务对象或数据),然后指定要跳转到的视图名称。例如: ```java public ModelAndView handleRequest() { ModelAndView modelAndView...

    spring—MVC的注解实例

    除了上述的注解,Spring MVC还有许多其他注解,如`@SessionAttributes`用于在session中存储模型数据,`@ExceptionHandler`用于全局异常处理,`@InitBinder`用于初始化数据绑定行为,等等。这些注解共同构建了一个...

    java或Java框架中常用的注解及其作用详解_资料.docx

    - `@ModelAttribute`和`@SessionAttributes`:在Spring MVC中,`@ModelAttribute`用于将请求参数绑定到模型对象,`@SessionAttributes`则用于在HTTP会话中存储模型对象。 - `@PathVariable`:从URL路径中提取参数...

    spring和Struts2注解文档

    ##### 1.2.13 @SessionAttributes注解 用于指定控制器应该存储在HttpSession中的模型属性名称,使模型属性能够在多个请求之间共享。 ##### 1.2.14 @InitBinder注解 用于初始化数据绑定器,可以在控制器中自定义...

    spring的mvc,注解驱动

    8. **Model 和 ModelAttribute**: `@ModelAttribute`注解常用于将方法参数与请求参数进行绑定,并自动填充模型数据。`Model`接口则用于在控制器方法间传递数据。 9. **@Autowired**: Spring框架的依赖注入注解,...

Global site tag (gtag.js) - Google Analytics