Servlet-Vorverarbeitung für das Laden von JSP-Seiten
Möglicherweise stoßen Sie auf ein Szenario, in dem Sie Ergebnisse aus einer Datenbank direkt in einer HTML-Tabelle anzeigen möchten Eine JSP-Seite wird geladen. Dies wirft die Frage auf, ob es möglich ist, ein Servlet aus einer JSP-Datei aufzurufen, ohne ein herkömmliches HTML-Formular zu verwenden.
Vorverarbeitung mit der doGet()-Methode von Servlet
Die Antwort ist bejahend. Mithilfe der doGet()-Methode eines Servlets können Sie eine Anfrage vorverarbeiten und anschließend an die JSP weiterleiten. Dies beinhaltet die Umleitung von Links und Browser-Adressleisten zur URL des Servlets statt zur URL der JSP.
Beispielimplementierung
Bedenken Sie den folgenden Codeausschnitt:
@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); } }
In der JSP-Datei (/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>
Überlegungen
Zusätzliche Ressourcen
Das obige ist der detaillierte Inhalt vonKann ein Servlet das Laden einer JSP-Seite ohne Formularübermittlung vorverarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!