使用下拉选定值在 JSP 页面中导航



我有一个关于JSP和Servlet的问题。我在 IDE 中使用 MVC 模型。JSP 页面索引.jsp 在我第一次运行代码时被调用。现在我的 Servlet 就是我的控制器。Jsp 页面有一个包含两个值的下拉框。交易是如果我选择一个值,假设两个选项中的选项 1 并提交它。控件应转到Contoller(Servlet)。控件被转移到控制器,但我需要将其重定向到与选项 1 相关的新页面。在这里,我的意思是说,在提交索引后,下拉列表的两个值都应该将我引导到两个不同的页面.jsp。

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        String page = request.getParameter("option");

        if(request.getParameter("option").equals("1")){
            request.setAttribute("s1", page);
            RequestDispatcher req = getServletContext().getRequestDispatcher("BrowseMovie.jsp");
            req.forward(request, response);
        }
        else if(request.getParameter("option").equals("2")){
            request.setAttribute("s2", page);
            RequestDispatcher req = getServletContext().getRequestDispatcher("AddNew.jsp");
            req.forward(request, response);
        }

    } finally {
        out.close();
    }
}


   <html>
   <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Browse Page</title>
    </head>
    <body color="PINK">
    <form action="Controller" method="post">
    <h1>Welcome to our Movie Store</h1>
    <br>
    <p>Please make your selection below</p>
    <br>
    <select>
        <option value="1" name="option">Browse Movies</option>
        <option value="2" name="option">Add New Movie To Database</option>
        <input type="submit" value="Send" name="Send"/>
    </select>
    </form>
</body>

如果您在用户选择下拉选项后立即尝试导航到另一个页面,则仅使用 jsp 或 servlet 是无法实现的。你需要添加一点JavaScript代码来做到这一点。
在 JavaScript 中,创建一个函数来按 tagname 或 id 获取表单元素,然后提交它。并通过另一个函数触发此函数,该函数将在用户选择下拉选项后立即触发。
通过这种方式,您可以实现您要求的事情:)

最新更新