spring MVC如何在JSP頁面輸出map中的值
阿新 • • 發佈:2019-01-05
SpringMVC如何在JSP頁面顯示資料?或者說springMVC如何在JSP頁面取map值?
<%@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);
接下來,我們來顯示從資料庫中查詢的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分頁技術,到時候還會分享。
首先,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分頁技術,到時候還會分享。