在開發過程中,我們經常需要將數據庫查詢到的值放入jsp頁面進行顯示,在springmvc的controller中,我們採用request將數據傳遞過去。
思路:
1、在comtroller中調用service層的方法獲取數據庫的數據,並且將其通過modelandview的addObject方法放置到域中
2、在jsp頁面中通過jsp標籤進行讀取
開發controller.java文件:
//查詢所有數據到頁面顯示
@RequestMapping("/dataAll")
public ModelAndView dataAll()throws Exception{
//調用Service層進行數據查找
List<DataList> dataLists = dataService.finDataAll();
ModelAndView modelAndView = new ModelAndView();
//將數據放到request中
modelAndView.addObject("datasList", dataLists);
//指定視圖
modelAndView.setViewName("/data/dataList");
return modelAndView;
}
如上所示,程序通過如下這條代碼:
//將數據放到request中
modelAndView.addObject("datasList", dataLists);
將查詢到的數據放置到request中。開發jsp頁面接收顯示數據:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>數據查詢列表</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/data/dataAll.action" method="post">
數據查詢:
<table width="10%" border=1>
<tr>
<td><input type="text" name="num" placeholder="編號"/><br/></td>
<td><input type="submit" value="查詢"/></td>
</tr>
</table>
數據列表:
<table width="100%" border=1>
<tr>
<td>編號</td>
<td>溼度</td>
<td>溫度</td>
<td>二氧化碳</td>
<td>粉塵</td>
<td>操作</td>
</tr>
<c:forEach items="${datasList }" var="data">
<tr>
<td>${data.num }</td>
<td>${data.hum }</td>
<td>${data.tem }</td>
<td>${data.co }</td>
<td>${data.fc }</td>
<td><a href="${pageContext.request.contextPath }/data/editDatas.action?num=${data.num}">修改</a></td>
</tr>
</c:forEach>
</table>
</form>
</body>
</html>
頁面通過如下代碼獲取信息,進而進行循環顯示:
<c:forEach items="${datasList }" var="data">
<tr>
<td>${data.num }</td>
<td>${data.hum }</td>
<td>${data.tem }</td>
<td>${data.co }</td>
<td>${data.fc }</td>
<td><a href="${pageContext.request.contextPath }/data/editDatas.action?num=${data.num}">修改</a></td>
</tr>
</c:forEach>
這裏的dataList即爲通過controller傳遞過來的Object的名字,包含dataList數據。