【ModelMap】jsp中顯示springmvc modelmap傳遞的對象


最近在做一個小網站,功能非常基礎,決定用springmvc搭建。

遇到一個問題,在controller向前端傳值時,比如使用ModelMap傳了一個字符串,modelmap.addattribute("msg", "hello"),那么在jsp端,直接使用${msg}就可以顯示。接着,如果我傳遞了一個對象,依然可以使用${obj.name}這樣的方法來顯示該對象的各個屬性。然而更多情況下,都需要顯示列表,所以我傳遞了一個List<User>對象,但是在解析時有點懵逼了,不知道怎么遍歷。

搜了半天才知道,原來還可以使用jstl標簽,跟以前解析servlet傳遞的對象列表一樣的來處理。具體處理方法如下:

controller.java

@RequestMapping(value = "/getUsers", method = RequestMethod.GET)
public String getUsers(ModelMap model) {
    List<UserEntity> userEntityList = userService.getAllUser();
    for (UserEntity user:userEntityList) {
        System.out.println(Util.toJsonString(user));
    }
    model.addAttribute("userlist", userEntityList);
    return "userList";
}

userList.jsp

 
         
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>user list</title>
</head>
<body>
    <h1>hello</h1>
    <br>
    <c:forEach items="${userlist}" var="item" >
        userId:<c:out value="${item.id}"/>
        <br>
        username:<c:out value="${item.username}"/>
        <br>
    </c:forEach>
</body>
</html>

通過forEach標簽的items指定列表為后端傳遞的對象,然后就可以直接遍歷了。

感悟:還是要多學會聯想,即使springmvc使用了很多不一樣的方法,比如ModelMap這樣的類來傳遞對象,但是在jsp中展示還是可以類似以前的處理方式來處理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM