用於JSP 頁面載入的Servlet 預處理
您可能會遇到這樣的場景:您希望直接在HTML 表中顯示資料庫結果載入JSP 頁面。這就提出了一個問題:是否可以在不使用傳統 HTML 表單的情況下從 JSP 檔案呼叫 Servlet。
使用 Servlet 的 doGet() 方法進行預處理
答案是肯定的。透過利用 servlet 的 doGet() 方法,您可以預處理請求,然後將其轉送到 JSP。這涉及將連結和瀏覽器網址列重新導向到 servlet 的 URL,而不是 JSP 的 URL。
範例實作
考慮以下程式碼片段:
@WebServlet("/products") public class ProductsServlet extends HttpServlet { @EJB private ProductService productService; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Product> products = productService.list(); request.setAttribute("products", products); request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response); } }
在JSP檔案(/WEB-INF/products.jsp):
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <table> <c:forEach items="${products}" var="product"> <tr> <td>${product.name}</td> <td>${product.description}</td> <td>${product.price}</td> </tr> </c:forEach> </table>
注意事項
其他資源
以上是Servlet 可以在不提交表單的情況下預處理 JSP 頁面載入嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!