我想写一个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中捕获这些值名称,年龄。但是如何?
答案 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
获取age
和request.getParameter("name")
的相应JSP页面,其中servlet将请求重定向到该页面。
或者您也可以使用某些模式,例如 - MVC's Front Controller Pattern