Maison >Java >javaDidacticiel >Un servlet peut-il prétraiter le chargement d'une page JSP sans soumission de formulaire ?
Prétraitement des servlets pour le chargement de page JSP
Vous pouvez rencontrer un scénario dans lequel vous souhaitez afficher directement les résultats d'une base de données dans un tableau HTML lorsque une page JSP se charge. Cela soulève la question de savoir s'il est possible d'invoquer un servlet à partir d'un fichier JSP sans utiliser un formulaire HTML traditionnel.
Prétraitement avec la méthode doGet() de servlet
La réponse est affirmatif. En utilisant la méthode doGet() d'un servlet, vous pouvez prétraiter une requête et la transmettre ensuite au JSP. Cela implique de rediriger les liens et les barres d'adresse du navigateur vers l'URL du servlet au lieu de l'URL de la JSP.
Exemple de mise en œuvre
Considérez l'extrait de code suivant :
@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); } }
Dans le fichier 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>
Considérations
Ressources supplémentaires
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!