龙空技术网

SpringMVC中作用域传值的几种方式

又双叒叕是程序汪 249

前言:

现在同学们对“mvc传值方式”大概比较着重,咱们都需要学习一些“mvc传值方式”的相关知识。那么小编也在网上搜集了一些关于“mvc传值方式””的相关文章,希望咱们能喜欢,看官们快快来学习一下吧!

九大内置对象

四大作用域

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;    }

标签: #mvc传值方式