Frage:
Ist es möglich, a aufzurufen? Servlet aus einer JSP-Datei ohne Verwendung eines HTML-Formulars? Zum Beispiel, um Datenbankdaten beim Laden der Seite in einer HTML-Tabelle anzuzeigen.
Antwort:
Ja, es ist möglich, ein Servlet aus einer JSP-Datei ohne anzurufen HTML-Formular mithilfe der doGet()-Methode des Servlets. Mit dieser Methode können Sie eine Anfrage vorverarbeiten und an die JSP weiterleiten. Sie können dann die URL des Servlets anstelle der JSP-Links und der Adressleiste des Browsers angeben.
Implementierung:
Betrachten Sie das folgende Servlet:
@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); } }
Und ein Beispiel-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>
Beachten Sie, dass die JSP Die Datei wird im Ordner /WEB-INF abgelegt, um den direkten Zugriff durch Benutzer zu verhindern, ohne das Servlet aufzurufen.
Zusätzliche Hinweise:
Verwandte Links:
Das obige ist der detaillierte Inhalt vonKann ich beim Laden einer Seite ohne HTML-Formular ein Servlet aus einer JSP aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!