关于对ModelAndView自己的理解

来源:互联网 发布:seo外链发到什么平台 编辑:程序博客网 时间:2024/05/16 12:00

    之前学习的时候遇见过这个ModelAndView,但是一直不知道是什么意思,今天在项目里面遇到了,就理解下,加深自己的印象,以下内容均是本人对此理解,欢迎一起留言讨论。

    首先ModelAndView 分为两部分:model和view。model负责的是从后面接收回来的参数,view就是视图就是指定的jsp页面。例如:ModelAndView mv = new ModelAndView("test");        所以当return mv的时候,其中view就是test.jsp页面。

 ModelAndView mv = new ModelAndView("test");                                                                   mv.addObject("dd", "hellow");      //其中的"hellow"可以为从后面执行回来的数据。

页面接收值:${dd};

当返回其他类型的时候参考:

public ModelAndView login() {        System.out.println("MAVTest.java login()....");         ModelAndView mv = new ModelAndView();         mv.setViewName("welcome");         mv.addObject("msg", "hello kitty");          // List         List<String> list = new ArrayList<String>();         list.add("java");         list.add("c++");         list.add("oracle");         mv.addObject("bookList", list);          // Map         Map<String, String> map = new HashMap<String, String>();         map.put("zhangsan", "北京");         map.put("lisi", "上海");         map.put("wangwu", "深圳");         mv.addObject("map", map);          return mv;     }

页面上取值:

<body>      <!-- 输出普通字符 -->      ${msg } <br/>     <!-- 输出List -->      <p>书籍列表</p>      <c:forEach items="${bookList}" var="node">           <c:out value="${node}"></c:out>      </c:forEach>      <br/>      <br/>            <!-- 输出Map -->      <c:forEach items="${map}" var="node">           姓名:<c:out value="${node.key}"></c:out>           住址:<c:out value="${node.value}"></c:out>           <br/>      </c:forEach>   </body>  


注意:c标签所依赖的jar,jstl.jar,commons-el.jar,standard.jar

参考文章出处:https://www.cnblogs.com/Sunnor/p/6130380.html


原创粉丝点击