问题:
是否可以调用从 JSP 文件中创建 servlet 而不使用 HTML 表单?例如,在页面加载时在 HTML 表中显示数据库数据。
答案:
是的,可以从 JSP 文件调用 servlet,而无需使用 servlet 的 doGet() 方法的 HTML 表单。此方法允许您预处理请求并将其转发到 JSP。然后,您可以在链接和浏览器地址栏中指定 servlet 的 URL,而不是 JSP。
实现:
考虑以下 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); } }
还有一个例子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>
请注意,JSP 文件放置在 /WEB-INF 文件夹中,以防止用户在不调用 servlet 的情况下直接访问。
附加说明:
相关链接:
以上是我可以在没有 HTML 表单的情况下在页面加载时从 JSP 调用 Servlet 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!