1. 程式人生 > >spring MVC如何在JSP頁面輸出map中的值

spring MVC如何在JSP頁面輸出map中的值

SpringMVC如何在JSP頁面顯示資料?或者說springMVC如何在JSP頁面取map值?

首先,SpringMVC是支援JSTL的,並且jstl標籤的效能也是較好的。所以,我們可以用基本的JSTL表示式來顯示資料,和使用其他標籤庫一樣的道理,使用JSTL標籤庫,我們也要先匯入JSTL標籤庫,也就是在jsp標頭檔案中加入宣告:


<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

在SpringMVC框架中使用JSTL標籤庫,需要jar包的支援,2個必須的jar包:jstl.jar 和 standard.jar

OK ,下面,我們就可以使用JSTL標籤庫了,接下來,我們將要在jsp頁面中輸出100條資料,這些資料時從從資料庫中查詢到的結果集。

1,資料被儲存在Map中,在SpringMVC的controller中,是通過下面的操作,對資料進行封裝的:


//定義一個Map<String, List<Map<String, Object>>>,用來封裝查詢結果
List<Map<String, Object>> mytest_list;
mytest_list = mysqlQueryPageDao.mysqlQueryPage_1_0();
//把查詢結果封裝到org.springframework.ui.ModelMap中
model.addAttribute("mytest",mytest_list);

2,在controller中,我們使用的是ModelAndView來傳遞資料的:

//返回viewName和查詢結果集model
return new ModelAndView("/MySQLQueryPageSuccess.jsp",model);

3,在jsp頁面,用jstl的<c:forEach>標籤來遍歷Map中的資料

先來看一下<c:forEach>標籤的語法:

語法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>

該標籤有6個屬性,我們常用的是var和items,var是我們自定義的名字,items是我們要遍歷的Map中的key。


接下來,我們來顯示從資料庫中查詢的100條資料:

<tr>
    <td>MySQL查詢分頁技術</td>
    <td>查詢結果在JSP頁面分頁展示</td>
    <td>SpringMVC3.0+MySQL資料庫5.5</td>
</tr>
<c:forEach items="${mytest}" var="item">
<tr>
    <td>${item.myid}</td>
    <td>${item.mydata}</td>
    <td>${item.myname}</td>
    <td>操作</td>
</tr>
</c:forEach>

這裡要進行一下解讀:
a,items="${mytest}",這裡的mytest是我們封裝時候的Map<key,value>中的key,也就是model.addAttribute("mytest",mytest_list);這裡的mytest;
b,var="item",這裡的item,是我們自定義的名字,是別名;
a,我的model中有3個屬性,分別為myid、mydata、myname,${item.myid}這裡的myid對應的是我的model實體中的屬性名;

這個標籤是最常用的一個標籤,在實際應用中,我們經常要從資料庫中查詢資料,然後返回到前臺頁面,迭代輸出。

好了,關於:SpringMVC如何把資料庫查詢結果顯示到JSP頁面?就說到這裡,難度不大,相信大家都能解決。

接下來,我會說一下,SpringMVC分頁技術,到時候還會分享。