第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在JSP中特定按鈕的單擊/提交事件上調用特定的Java方法?

如何在JSP中特定按鈕的單擊/提交事件上調用特定的Java方法?

ITMISS 2019-10-19 16:46:05
我的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執(zhí)行;如果button3,則僅method3,依此類推。我該如何實現(xiàn)?
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

只需給各個按鈕元素一個唯一的名稱即可。按下按鈕后,按鈕的名稱可用作請求參數(shù),就像輸入元素一樣。


您只需要確保按鈕輸入的type="submit"in <input type="submit">和<button type="submit">and not一樣 type="button",這僅呈現(xiàn)一個“死”按鈕,僅用于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>將不會用作標簽,您只需將自己指定為孩子即可。


例如


<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);

    }


}


查看完整回答
反對 回復 2019-10-19
?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

<form method="post" action="servletName">   

     <input type="submit" id="btn1" name="btn1"/>

     <input type="submit" id="btn2" name="btn2"/>

</form>  

在按下它時,請求將轉到servlet頁面上的servlet,檢查按下了哪個按鈕,然后相應地將所需的方法作為objectName.method調用


查看完整回答
反對 回復 2019-10-19
?
瀟湘沐

TA貢獻1816條經(jīng)驗 獲得超6個贊

如果您有web.xml,那么


HTML / JSP


<form action="${pageContext.request.contextPath}/myservlet" method="post">

    <input type="submit" name="button1" value="Button 1" />

</form>

web.xml


<servlet>

        <display-name>Servlet Name</display-name>

        <servlet-name>myservlet</servlet-name>

        <servlet-class>package.SomeController</servlet-class>

</servlet>

<servlet-mapping>

    <servlet-name>myservlet</servlet-name>

    <url-pattern>/myservlet</url-pattern>

</servlet-mapping>

Java SomeController.java


public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("Write your code below");

}


查看完整回答
反對 回復 2019-10-19
  • 3 回答
  • 0 關注
  • 1419 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號