栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java springMVC之域对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java springMVC之域对象

目录

测试网页代码

request域对象

原生Servlet共享数据

ModelAndView共享数据

Model共享数据

map共享数据

ModelMap共享数据

其他知识

session域对象

application域对象


测试网页代码

测试网页的所有代码,使用了thymeleaf。




    
    首页


测试原生API向request域对象共享数据
测试ModelAndView向request域对象共享数据
测试Model向request域对象共享数据
测试Map向request域对象共享数据
测试ModelMap向request域对象共享数据
测试session域对象共享数据
测试testApplication域对象共享数据

接收网页的所有代码,使用了thymeleaf。




    
    测试


测试成功

request域对象

request域的各种共享数据的方法使用起来大同小异

原生Servlet共享数据

原生API作为基础不多解释,直接看代码

html代码

测试原生API向request域对象共享数据

Servlet代码

@RequestMapping(value = "/testAPI")
public String testAPI(HttpServletRequest request) {
    request.setAttribute("key1", "value1");
    return "test";
}

 页面接收代码

ModelAndView共享数据

html代码

测试ModelAndView向request域对象共享数据

接收代码

@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView() {
    ModelAndView mav = new ModelAndView();
    mav.addObject("key2", "value2");//添加数据
    mav.setViewName("test");//设置视图名称
    return mav;
}

页面接收代码

 这种方式代码长度和原生API相比还更加长了,但在springMVC中推荐我们使用这一种方式。

Model共享数据

html代码

测试Model向request域对象共享数据

 接收代码

@RequestMapping("/testMode1")
public String testMode1(Model model) {
    model.addAttribute("key3", "value3");
    System.out.println(model.getClass().getName());
    return "test";
}

 页面接收代码

map共享数据

 html代码

测试Map向request域对象共享数据

 接收代码

@RequestMapping("/testMap")
public String testMap(Map map) {
    map.put("key4", "value4");
    System.out.println(map.getClass().getName());
    return "test";
}

页面接收代码

ModelMap共享数据

html代码

测试ModelMap向request域对象共享数据

接收代码

@RequestMapping("/testModelMap")
public String testModelMap(ModelMap modelMap) {
    modelMap.addAttribute("key5", "value5");
    System.out.println(modelMap.getClass().getName());
    return "test";
}

页面接收代码 

其他知识

(1)Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的。上面的Model、ModelMap、Map方法中的输出内容都是BindingAwareModelMap。

 (2)不管使用上面方法中的哪一种方法,最终返回的都是打包好的ModelAndView对象,也就是上面所写的第二种方法,这也是为什么springMVC推荐使用这一种方式来进行共享数据操作。

session域对象

html代码 

测试session域对象共享数据

接收代码

@RequestMapping("/testSession")
public String testSession(HttpSession session) {
    session.setAttribute("key6", "value6");
    return "test";
}

页面接收代码

session域接收数据时略有不同,要指定是session域下的键值

application域对象

html代码

测试testApplication域对象共享数据

接收代码

@RequestMapping("/testApplication")
public String testApplication(HttpSession session) {
    ServletContext application = session.getServletContext();
    application.setAttribute("key7", "value7");
    return "test";
}

 页面接收代码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776927.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号