質問:
HTML フォームを使用せずに JSP ファイルからサーブレットを作成しますか?たとえば、ページのロード時にデータベース データを HTML テーブルに表示します。
答え:
はい、JSP ファイルからサーブレットを呼び出すことは可能です。サーブレットの doGet() メソッドを使用した HTML フォーム。このメソッドを使用すると、リクエストを前処理して JSP に転送できます。その後、リンクやブラウザのアドレス バーで JSP の代わりにサーブレットの URL を指定できます。
実装:
次のサーブレットについて考えてみましょう:
@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 フォルダー内に配置されることに注意してください。
追加メモ:
関連リンク:
以上がHTML フォームを使用せずにページの読み込み時に JSP からサーブレットを呼び出すことはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。