作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的Java文件是:
public class MyClass {
public void method1() {
// some code
}
public void method2() {
//some code
}
public void method3() {
//some code
}
}
button1
,则仅会调用
method1
;如果单击
button2
,则仅会执行
method2
;如果单击
button3
,则只会执行
method3
,依此类推。
最佳答案
只需给各个按钮元素一个唯一的名称即可。按下按钮时,按钮的名称可用作请求参数,就像输入元素一样。
您只需要确保按钮输入具有type="submit"
即可,就像<input type="submit">
和<button type="submit">
和一样,而不是 type="button"
,仅为onclick
和所有内容呈现一个“死”按钮。
例如。
<form action="${pageContext.request.contextPath}/myservlet" method="post">
<input type="submit" name="button1" value="Button 1" />
<input type="submit" name="button2" value="Button 2" />
<input type="submit" name="button3" value="Button 3" />
</form>
@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>
的值将不会用作标签,您只需将自己指定为 child 即可。
<form action="${pageContext.request.contextPath}/myservlet" method="post">
<button type="submit" name="button" value="button1">Button 1</button>
<button type="submit" name="button" value="button2">Button 2</button>
<button type="submit" name="button" value="button3">Button 3</button>
</form>
@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);
}
}
关于jsp - 如何在JSP中特定按钮的单击/提交事件上调用特定Java方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14723812/
我是一名优秀的程序员,十分优秀!