只需给单个按钮元素一个唯一的名称。当按下时,按钮的名称可作为请求参数,通常与输入元素一样。
您只需要确保按钮输入的type =“submit”,如< input type =“submit”>和< button type =“submit”>而不是type =“button”,它只会渲染一个“死”按钮,仅用于onclick的东西和全部。
例如。
同
@WebServlet("/myservlet")
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MyClass myClass = new MyClass();
if (request.getParameter("button1") != null) {
myClass.method1();
} else if (request.getParameter("button2") != null) {
myClass.method2();
} else if (request.getParameter("button3") != null) {
myClass.method3();
} else {
// ???
}
request.getRequestDispatcher("/WEB-INF/some-result.jsp").forward(request, response);
}
}
或者,使用< button type =“submit”>而不是< input type =“submit”>,那么你可以给他们所有相同的名字,而是一个唯一的值。 < button>的值不会被用作标签,您可以将自己指定为孩子。
例如。
Button 1
Button 2
Button 3
同
@WebServlet("/myservlet")
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
MyClass myClass = new MyClass();
String button = request.getParameter("button");
if ("button1".equals(button)) {
myClass.method1();
} else if ("button2".equals(button)) {
myClass.method2();
} else if ("button3".equals(button)) {
myClass.method3();
} else {
// ???
}
request.getRequestDispatcher("/WEB-INF/some-result.jsp").forward(request, response);
}
}
也可以看看:
这篇博客讨论了如何在HTML表单中正确设置提交按钮,以便在Servlet中根据按下哪个按钮调用相应的方法。文章提到了为按钮提供唯一名称的重要性,并展示了如何通过检查请求参数来区分不同按钮的点击事件。示例代码解释了如何处理多个提交按钮并执行不同的业务逻辑。
846

被折叠的 条评论
为什么被折叠?



