SpringMVC_处理模型数据

一、处理模型数据

SpringMVC提供了以下几种途径输出模型数据:

    - ModelAndView:处理方法返回值类型为ModelAndView时,方法即可通过该对象添加模型数据。

    - Map及Model:入参为org.springframework.ui.Model、org.springframework.ui.ModelMap、java.util.Map时,处理方法返回值时,Map中的数据会自动添加到模型中。

    - @SessionAttributes:将模型中的某个数据暂存到HttpSession中,以便多个请求间可以共享这个属性。

    - @ModelAttribute:方法入参标注该注解后,入参的对象就会放到数据模型中。

 

二、处理数据模型之ModelAndView

- 控制器处理方法的返回值如果为ModelAndView,则其包含视图信息,也包含模型数据信息

-添加模型数据:

    —ModelAndView addObject(String attributeName,Object attributeValue)

    —ModelAndView addAllObject(Map<String,?> modelMap)

- 设置视图:

    —void setView(View view)

    —void setViewName(String viewName)
/**
 * 目标方法的返回值可以是ModelAndView类型
 * 其中可以包含视图和模型信息
 * SpringMVC会把ModelAndView的model中数据放入到request域对象中
 * @return
 */
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
    String viewName = SUCCESS;
    ModelAndView mv = new ModelAndView(viewName);
    //添加模型数据到ModelAndView中
    mv.addObject("time",new Date());
    return mv;
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a>哈哈哈哈</a>
time:${time}
</body>
</html>

学习的过程中发现使用 ${time} 无法获取ModelAndView,原因是jsp头文件版本有问题:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

将上面的头文件改为下面的:

<?xml version="1.0" encoding="UTF-8"?>
<web-
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值