【问题标题】:How to redirect html button -> Servlet -> another html page?如何重定向 html 按钮 -> Servlet -> 另一个 html 页面?
【发布时间】:2016-01-24 11:49:07
【问题描述】:

我有一个带有 2 个按钮的 html 页面,具有相同的表单操作(当用户按下按钮时,表单将其重定向到一个 servlet,然后在该 servlet 中,我希望它基于该按钮重定向到另一个 html 页面在 html 页面中按下)。

HTML页面

<form action ="ManageEmployeeRedirect" method = "post"> 
<input type="submit" value="Create New Employee Account" name="ID1"> 
<br>
<br>
<input type="submit" value="Update Existing Employee Account" name="ID2"> 
</form>
</div>
</body>
</html>

小服务程序

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class ManageEmployeeRedirect extends HttpServlet { 

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

        String name = request.getParameter("ID1");
        String name2 = request.getParameter("ID2"); 

        if("ID1".equals(name)){
            RequestDispatcher rs = request.getRequestDispatcher("index.html");
            rs.forward(request, response);
        }
        else if("ID2".equals(name2)){ 
            RequestDispatcher rs = request.getRequestDispatcher("changePassAdmin.html"); 
            rs.forward(request, response);
        }
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
               processRequest(request, response);
          }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
               processRequest(request, response);
    }
}

【问题讨论】:

  • 这里到底有什么问题?
  • @QuakeCore 它不工作。
  • @QuakeCore 您在上面看到的 html 页面有两个按钮。这两个按钮中的每一个都应该重定向到不同的 html 页面,这是通过 servlet 完成的,但是,这不起作用。
  • 我知道它不起作用,你的代码甚至无法编译,将else if(== "ID2"){ 更改为else if( "ID2".equals(name)){ ,我强烈建议你使用IDE。
  • @QuakeCore 这是 Eclipse IDE

标签: servlets forward requestdispatcher


【解决方案1】:
  1. 在第二个“if”中您错过了“name”,我建议您使用“ID1”.equals(name) 格式。
  2. 检查您的表单方法是否对应于 servlet 的方法 doPost()。

建议:在java中你可以使用JSP技术。它是扩展的html格式,里面包含了隐含的java-servlet。

【讨论】:

    【解决方案2】:
     String button1 = request.getParameter("ID1");
            String button2 = request.getParameter("ID2"); 
    
            if(button1 != null) {
                RequestDispatcher rs = request.getRequestDispatcher("index.html"); 
                rs.forward(request, response);
            }
            else if(button2 != null) { 
                RequestDispatcher rs = request.getRequestDispatcher("changePassAdmin.html"); 
                rs.forward(request, response);
            }
    

    【讨论】:

      猜你喜欢
      • 2015-01-17
      • 2012-12-04
      • 2013-07-29
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多