1

我想写一个jsp页面,它必须有3个像$save$这样的按钮来保存我们所做的过程,删除,查看我们所做的。

i tried as :
<form action="go_save" method="post"> // how to go_view.jsp, go_delete.jsp
   <input type="submit" name="submit" value="SUBMIT">


code :
      <%@page contentType="text/html" pageEncoding="UTF-8"%>
     <!DOCTYPE html>
     <html>
     <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    </head>
     <body>
     <h1>Hello World!</h1>
     <form action="go.jsp" method="post" >
         name<input type="text" name="name">
         age<input type="text" name="age">
         <input type="button" value="Save" name="Save" 
         onclick="document.forms[0].action = 'go_save.jsp'; return true;" />
          <input type="button" value="view" name="view" 
          onclick="document.forms[0].action = 'go_view.jsp'; return true;" />
       </form>
   </body>
</html>

但是这里的页面没有重定向到给定的页面,比如 go_view、go_save。我想在 go_view 和 go_save 中捕获这些值名称、年龄。但如何?

4

2 回答 2

2

你可以做这样的事情......有一个 onclick 事件

<button type="button" onclick="location = 'go_save.jsp'">Save</button>
<button type="button" onclick="location = 'go_view.jsp'">Save</button>

删除 "action="go_save""

于 2013-08-02T05:55:39.753 回答
0

您应该在控制器中完成这项工作,可能是 Servlet 而不是 JSP。

创建一个 Servlet(比如说,RedirectServlet你可以 naem),并在doPost方法中,根据单击的按钮重定向到相关的 JSP 页面。您可以为该任务的每个按钮命名。

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    if (request.getParameter("GoSave") != null) {
        request.getRequestDispatcher("/go_save.jsp").forward(request, response);

    } else if (request.getParameter("GoDelete") != null) {
        request.getRequestDispatcher("/go_delete.jsp").forward(request, response);

    }  else if (request.getParameter("GoView") != null) {
        request.getRequestDispatcher("/go_view.jsp").forward(request, response);
    }
}

现在,从您的表单,而不是重定向到一个 jsp 页面,重定向到这个 servlet:

<form action="redirectServlet" method="post"> 
   name<input type="text" name="name">
   age<input type="text" name="age">

   <input type="submit" name="GoView" value="SUBMIT">
   <input type="submit" name="GoDelete" value="SUBMIT">
   <input type="submit" name="GoSave" value="SUBMIT">
</form>

现在,您可以获取 的值nameage是相应的 JSP 页面,servlet 将请求重定向到该页面,使用request.getParameter("name").

或者你也可以使用一些模式,比如 - MVC's Front Controller Pattern

于 2013-08-02T06:50:37.097 回答