Soalan:
Adakah mungkin untuk menggunakan servlet dari fail JSP tanpa menggunakan borang HTML? Sebagai contoh, untuk memaparkan data pangkalan data dalam jadual HTML apabila halaman dimuatkan.
Jawapan:
Ya, adalah mungkin untuk memanggil servlet daripada fail JSP tanpa Borang HTML menggunakan kaedah doGet() servlet. Kaedah ini membolehkan anda mempraproses permintaan dan memajukannya kepada JSP. Anda kemudiannya boleh menentukan URL servlet dan bukannya JSP dalam pautan dan bar alamat penyemak imbas.
Pelaksanaan:
Pertimbangkan servlet berikut:
@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); } }
Dan contoh 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>
Perhatikan bahawa Fail JSP diletakkan dalam folder /WEB-INF untuk menghalang akses terus oleh pengguna tanpa memanggil servlet.
Nota Tambahan:
Pautan Berkaitan:
Atas ialah kandungan terperinci Bolehkah saya Memanggil Servlet daripada JSP pada Muatan Halaman Tanpa Borang HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!