簡體   English   中英

從數據庫獲取最新數據到jsp頁面

[英]Get the most recent data from database to jsp page

我正在嘗試使用servlet和jsp從mysql數據庫中獲取最近5天的數據。 我創建了一個數據庫類,用於查找最近5天到當前日期之間的日期。 然后在我的serlvet上,調用了該方法並將值存儲在列表中,並將其轉發到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>

BETWEEN運算符選擇一個范圍內的值。 值可以是數字,文本或日期。

如果要獲取某個范圍內的日期,則可以在數據庫中選擇列類型為“數據”,“日期時間”等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM