2014年8月6日 星期三

如何在html中的一個Form中使用多個按鈕進行不同動作,以JSP為例

有時我們會希望在同一個表單中(Form)建立多個按鈕來做出不同的行為,如新增、修改、刪除等不同的行為,這時我們就會用到多個按鈕,以下以JSP為例,設計name一樣,value不同的多個按鈕,form的action指向同一個Servlet,在Servlet中取得按鈕的value來知道要做什麼動作:

1.html中的程式碼如以下所示:
<form method="POST" action="XXX.do">
            <input type="submit" name="requestAction" value="新增" >
            <input type="submit" name="requestAction" value="修改" >
            <input type="submit" name="requestAction" value="刪除" >        
</form> 

2.url對應XXX.do的Servlet中的程式碼如下所示,利用名為requestAction的參數之值來判幾哪一個按鈕被按下了:
request.setCharacterEncoding("UTF-8"); //中文參數的解碼
String requestAction = request.getParameter("requestAction");
switch (requestAction) {
            case "新增":
                add();
                break;
            case "修改":
                modify();
                break;
            case "刪除":
                delete();
                break;               
        }
    }
p.s. 如果要在Java中以String型別做為switch的參數,需要使用JDK 7以上,以netBeans為例,可以以右鍵點擊專案,選擇 Properties-->Source,在下面的Source/Binary Format下拉選單中選擇JDK 7以的JDK即可

沒有留言 :

張貼留言