前言:
此刻各位老铁们对“spring传参的几种方式”大约比较珍视,兄弟们都需要学习一些“spring传参的几种方式”的相关知识。那么小编在网络上汇集了一些关于“spring传参的几种方式””的相关文章,希望大家能喜欢,大家一起来学习一下吧!九大内置对象
四大作用域
SpringMVC中作用域传值的几种方式
1.使用原生的ServletAPI
1.1在HanlderMethod参数中添加作用域对象。
package com.wq.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;@Controllerpublic class DemoController { @RequestMapping("demo1") public String demo(HttpServletRequest req,HttpSession sessionParam){ //request作用域 req.setAttribute("req","req的值"); //session作用域 HttpSession session = req.getSession(); session.setAttribute("session","session的值"); sessionParam.setAttribute("sessionParam","sessionParam的值"); //application作用域 ServletContext servletContext = req.getServletContext(); servletContext.setAttribute("Application","Application的值"); return "main"; }}
1.2如果想快速取到session作用域
2.使用Map 传值
2.1把Map中内容放在request传值域中。
2.2 spring会对map集合通过BindingAwareModelMap进行实例化
@RequestMapping("demo2") public String demo2(Map<String,Object> map){ map.put("map","map的值"); return "main"; }
3.使用springmvc中Model接口(专门负责传值的,把内容最终放在request作用域中)
@RequestMapping("demo3") public String demo3(Model model){ model.addAttribute("model","model的值"); return "main"; }
4.使用Springmvc中modelAndView类
@RequestMapping("demo4") public ModelAndView demo4(){ //参数表示跳转视图 ModelAndView mav=new ModelAndView("main"); mav.addObject("mav","mav的值"); return mav; }
标签: #spring传参的几种方式