0
我試圖從使用servlet和jsp的mysql數據庫獲取最近5天的數據。我創建了一個數據庫類,查找最近5天到當前日期之間的日期。然後在我的serlvet中,我調用該方法並將值存儲在列表中,並將其轉發給jsp頁面。我在jsp頁面中創建了一個表來顯示數據庫數據,但沒有顯示出來。我調試它,它顯示列表是空的。我不確定我做錯了什麼。這裏是我的代碼:從數據庫獲取最新數據到jsp頁面
數據庫的方法:
public static List getMaxRecordsHomePage(int id) {
List recordList = new ArrayList<>();
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
String currentDate = dateFormat.format(date);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -5);
Date previousDate = cal.getTime();
String fromDate = dateFormat.format(previousDate);
try {
Connection conn = DBConnection.getConnection();
String query = "SELECT * FROM record WHERE userId=? AND date BETWEEN ? AND ?";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, id);
stmt.setString(2, fromDate);
stmt.setString(3, currentDate);
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
Record records = new Record();
records.setId(id);
records.setCategory(rs.getString("category"));
records.setDescription(rs.getString("description"));
records.setAmount(rs.getString("amount"));
records.setDate(rs.getString("date"));
recordList.add(records);
}
} catch (Exception e) {
System.out.println(e);
}
return recordList;
}
}
的Serlvet:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
int id = SessionService.getSessionId(request, response);
List recordList = FinanceService.getMaxRecordsHomePage(id);
request.setAttribute("recordList", recordList);
RouteService.routeDispatcher(request, response, "homepage.jsp");
}
JSP頁面:
<table>
<caption>Recent Records</caption>
<tr>
<td>Category</td>
<td>Short Description</td>
<td>Amount</td>
<td>Date</td>
</tr>
<c:forEach var="Records" items="${recordList}">
<tr>
<td><c:out value="${Records.category}"/></td>
<td><c:out value="${Records.description}"/></td>
<td>$<c:out value="${Records.amount}"/></td>
<td><c:out value="${Records.date}"/></td>
</tr>
</c:forEach>
</table>
你檢查了你的服務器日誌嗎?通常它會告訴你更多的信息。我懷疑你有一個空的地方。 – otc
@otc是的,我檢查了我的服務器日誌,但沒有錯誤消息 –
在這種情況下很可能沒有數據從查詢返回。你有一個oracle或mysql數據庫嗎?我通常在我的語句上做一個setDate,而不是設置字符串。 – otc