如何编写包含保存,提交,查看按钮的jsp页面?

时间:2013-08-02 05:48:50

标签: html jsp

我想写一个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中捕获这些值名称,年龄。但是如何?

2 个答案:

答案 0 :(得分: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“”

答案 1 :(得分: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>

现在,您可以使用name获取agerequest.getParameter("name")的相应JSP页面,其中servlet将请求重定向到该页面。

或者您也可以使用某些模式,例如 - MVC's Front Controller Pattern