ModelAndVIew——视图渲染器

ModelAndView 类别如起名称所示,代表了MVC Web程序中Model与View的对象。过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。

  • View是rg.springframework.web.servlet.View接口的实例解析

  • 当视图解释器解析ModelAndVIew是,其中model本生就是一个Map的实现类的子类。视图解析器将model中的每个元素都通过request.setAttribute(name, value);添加request请求域中。这样就可以在JSP页面中通过EL表达式来获取对应的值。

用法:

1. 利用setView()直接显示view特性,做前端异常提示

public ModelAndView testModelAndView() throws Exception {
        ModelAndView mav = new ModelAndView();
        MappingJackson2JsonView view = new MappingJackson2JsonView(); //view
        Map<String, Object> attributes = new HashMap<>();
        attributes.put("errMsg", e.getMessage());
        view.setAttributesMap(attributes);
        mav.setView(view);
        mav.setStatus(HttpStatus.OK); //标明状态
        return mav;
}

2. 用作视图解析器

@RequestMapping("/test")
public ModelAndView test(){
    ModelAndView mav=new ModelAndView();
    mav.getModel().put("name", "hello");
    List<String> list = new ArrayList<String>();
    list.add("java");
    list.add("c++");
    list.add("oracle");
    mav.addObject("bookList", list);
    return mav;
}

jsp页面

name:${name }
<p>书籍列表</p>  
<c:forEach items="${bookList}" var="item">  
     <c:out value="${item}"></c:out>  
</c:forEach>  
<br/>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值