springMVC-模型数据的处理

 一、数据放入到request域当中

1、把获取的数据放入request域中, 方便在跳转页面去显示 

<a>添加主人信息</a>
<form action="vote/vote04" method="post" >
    主人id:<input type="text" name="id"><br>
    主人名:<input type="text" name="monsterName"><br>
    宠物名:<input type="text" name="pet.petName"><br>
    <input type="submit" value="提交" ><br>
   @RequestMapping(value = "/vote04")
    public String vote04(Monster monster, HttpServletRequest request,
                         HttpServletResponse response){
        System.out.println("请求到vote04");
        request.setAttribute("monster", monster);
        request.setAttribute("address","湖州");
        return "voteOK";
    }
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>获取参数成功

    地址:   ${address}<br>
    主人名字:${requestScope.monster.monsterName}<br>
    主人信息:${requestScope.monster}<br>
</body>
</html>

2、通过请求的方法参数Map<String,Object>, springMVC自动将map参数的内容放入reguest域

<%--确保这里的name与bean的属性名一致,否则拿不到值--%>
<a>添加主人信息</a>
<form action="vote/vote05" method="post" >
    主人id:<input type="text" name="id"><br>
    主人名:<input type="text" name="monsterName"><br>
    宠物名:<input type="text" name="pet.petName"><br>
    <input type="submit" value="提交" ><br>
</form>
   @RequestMapping(value = "/vote05")
    public String vote05(Monster monster, Map <String,Object> map){
        map.put("monster", monster);
        map.put("Address", "BEIJING");
        return "voteOK";
    }
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>获取参数成功

    地址:   ${address}<br>
    主人名字:${requestScope.monster.monsterName}<br>
    主人信息:${requestScope.monster}<br>

3、通过返回一个ModelAndView对象实现request域数据

1>从本质看,请求响应的方法return"xx",好像是返回了一个字符串,其实本质都是返回了一个ModeIAndView对象,只是默认被封装起来的.

2>ModelAndView即可以包含model数据,也可以包含视图信息
3>ModelAndView对象的addObject方法可以添加 key-val数据,默认在request域中4>ModelAndView对象setView方法可以指定视图名称

<%--确保这里的name与bean的属性名一致,否则拿不到值--%>
<a>添加主人信息</a>
<form action="vote/vote06" method="post" >
    主人id:<input type="text" name="id"><br>
    主人名:<input type="text" name="monsterName"><br>
    宠物名:<input type="text" name="pet.petName"><br>
    <input type="submit" value="提交" ><br>
</form>
  @RequestMapping(value = "/vote06")
    public ModelAndView vote06(Monster monster){
        //创建一个modleANDView
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("monster", monster);
        modelAndView.addObject("address", "杭州");
        modelAndView.setViewName("voteOK");
        return modelAndView;
    }
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>获取参数成功

    地址:   ${address}<br>
    主人名字:${requestScope.monster.monsterName}<br>
    主人信息:${requestScope.monster}<br>
</body>

二、将数据放入到session域中

1、通过@SessionAttributes实现将数据放入session域

首先,在handler上写一个@SessionAttributes注解

@SessionAttributes(value = "myMaster")
@RequestMapping(value = "/vote")
@Controller
public class VoteHandler {
  

只要有一个map的形参,调用了put方法,且key值与@SessionAttributes相同,就会被自动放入到session域中 

@RequestMapping(value = "/vote07")
    public String vote07(Map <String,Object> map,Monster monster){
       map.put("myMonster",monster);
       map.put("address","SHANGHAI");
        return "voteOK";
    }
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>获取参数成功

    地址:   ${address}<br>
    主人名字:${requestScope.monster.monsterName}<br>
    主人信息:${requestScope.monster}<br>

    主人名字(session):${sessionScope.myMonter.monsterName}<br>
    主人信息(session):${sessionScope.myMonter}<br>

</body>

相关推荐

  1. springMVC-模型数据处理

    2023-12-16 17:22:02       61 阅读
  2. springmvc处理模型数据

    2023-12-16 17:22:02       30 阅读
  3. SpringMVC数据传递及数据处理

    2023-12-16 17:22:02       62 阅读
  4. 简单分析SpringMVC处理请求流程

    2023-12-16 17:22:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 17:22:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 17:22:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 17:22:02       87 阅读
  4. Python语言-面向对象

    2023-12-16 17:22:02       96 阅读

热门阅读

  1. Django分页器

    2023-12-16 17:22:02       72 阅读
  2. qmap类

    2023-12-16 17:22:02       59 阅读
  3. 糖糖别胡说,我真的不是签到题目

    2023-12-16 17:22:02       73 阅读
  4. 关于chatgpt一点肤浅认识

    2023-12-16 17:22:02       59 阅读
  5. 什么是WebSocket?在PHP中如何使用WebSocket?

    2023-12-16 17:22:02       52 阅读
  6. python如何通过自身日志系统读写日志文件

    2023-12-16 17:22:02       65 阅读
  7. 信息收集 - 渗透测试工具

    2023-12-16 17:22:02       65 阅读
  8. Android开发中如何进行单元测试?

    2023-12-16 17:22:02       57 阅读