如何在JSP中特定按钮的单击/提交事件上调用特定的Java方法?

我的Java文件是:


public class MyClass {


    public void method1() {    

        // some code

    }


    public void method2() {

        //some code

    }


    public void method3() {

        //some code

    }

}

在我的JSP页面中,我有三个HTML按钮。


如果单击button1,则将仅method1被调用;如果单击,button2则将仅method2执行;如果button3,则仅method3,依此类推。


我该如何实现?


ITMISS
浏览 1323回答 3
3回答

子衿沉夜

只需给各个按钮元素一个唯一的名称即可。按下按钮后,按钮的名称可用作请求参数,就像输入元素一样。您只需要确保按钮输入的type="submit"in <input type="submit">和<button type="submit">and not一样 type="button",这仅呈现一个“死”按钮,仅用于onclick填充所有内容。例如<form action="${pageContext.request.contextPath}/myservlet" method="post">&nbsp; &nbsp; <input type="submit" name="button1" value="Button 1" />&nbsp; &nbsp; <input type="submit" name="button2" value="Button 2" />&nbsp; &nbsp; <input type="submit" name="button3" value="Button 3" /></form>与@WebServlet("/myservlet")public class MyServlet extends HttpServlet {&nbsp; &nbsp; @Override&nbsp; &nbsp; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&nbsp; &nbsp; &nbsp; &nbsp; MyClass myClass = new MyClass();&nbsp; &nbsp; &nbsp; &nbsp; if (request.getParameter("button1") != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method1();&nbsp; &nbsp; &nbsp; &nbsp; } else if (request.getParameter("button2") != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method2();&nbsp; &nbsp; &nbsp; &nbsp; } else if (request.getParameter("button3") != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method3();&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ???&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; request.getRequestDispatcher("/WEB-INF/some-result.jsp").forward(request, response);&nbsp; &nbsp; }}另外,也可以使用<button type="submit">代替<input type="submit">,然后为它们赋予相同的名称,但使用唯一的值。的值<button>将不会用作标签,您只需将自己指定为孩子即可。例如<form action="${pageContext.request.contextPath}/myservlet" method="post">&nbsp; &nbsp; <button type="submit" name="button" value="button1">Button 1</button>&nbsp; &nbsp; <button type="submit" name="button" value="button2">Button 2</button>&nbsp; &nbsp; <button type="submit" name="button" value="button3">Button 3</button></form>与@WebServlet("/myservlet")public class MyServlet extends HttpServlet {&nbsp; &nbsp; @Override&nbsp; &nbsp; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&nbsp; &nbsp; &nbsp; &nbsp; MyClass myClass = new MyClass();&nbsp; &nbsp; &nbsp; &nbsp; String button = request.getParameter("button");&nbsp; &nbsp; &nbsp; &nbsp; if ("button1".equals(button)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method1();&nbsp; &nbsp; &nbsp; &nbsp; } else if ("button2".equals(button)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method2();&nbsp; &nbsp; &nbsp; &nbsp; } else if ("button3".equals(button)) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myClass.method3();&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ???&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; request.getRequestDispatcher("/WEB-INF/some-result.jsp").forward(request, response);&nbsp; &nbsp; }}

Smart猫小萌

<form method="post" action="servletName">&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;<input type="submit" id="btn1" name="btn1"/>&nbsp; &nbsp; &nbsp;<input type="submit" id="btn2" name="btn2"/></form>&nbsp;&nbsp;在按下它时,请求将转到servlet页面上的servlet,检查按下了哪个按钮,然后相应地将所需的方法作为objectName.method调用

潇湘沐

如果您有web.xml,那么HTML / JSP<form action="${pageContext.request.contextPath}/myservlet" method="post">&nbsp; &nbsp; <input type="submit" name="button1" value="Button 1" /></form>web.xml<servlet>&nbsp; &nbsp; &nbsp; &nbsp; <display-name>Servlet Name</display-name>&nbsp; &nbsp; &nbsp; &nbsp; <servlet-name>myservlet</servlet-name>&nbsp; &nbsp; &nbsp; &nbsp; <servlet-class>package.SomeController</servlet-class></servlet><servlet-mapping>&nbsp; &nbsp; <servlet-name>myservlet</servlet-name>&nbsp; &nbsp; <url-pattern>/myservlet</url-pattern></servlet-mapping>Java SomeController.javapublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("Write your code below");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server
Java