2013-11-04 51 views
1

我有這樣的形式得到提交按鈕

<form action="xmlServletPath" method="POST" id="c1"> 
    <ul> 
     <li> 
     <input type="submit" name="task1" value="Генерация таблиц по переданным параметрам: заголовок, количество строк и столбцов, цвет фона." /> 
     </li> 

     <li> 
     <input type="submit" name="task2" value="Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список." /> 
     </li> 

     <li> 
     <input type="submit" name="task3" value="Выбор изображения по тематике (природа, автомобили, дети и т.д.) и его отображение."/> 
     </li> 
    </ul> 
</form> 

我想按下按鈕的名稱的名稱 - 例如,如果我按下按鈕,名字task1我想在servlet的這個名字。 但是如何?

getParameter允許檢查是否按下名稱爲getParameter的按鈕。 我需要的是這樣的 -

String req = request.getAttributeName('name'); // req contains task1(or task2, task3) 

,並在req會有task1例如。

回答

1

嘗試使用<button>標籤代替(Reference

<form action="xmlServletPath" method="POST" id="c1"> 
    <ul> 
     <li> 
      <button type="submit" name="mybutton" value="task1"> 
       Генерация таблиц по переданным параметрам: заголовок, количество строк и столбцов, цвет фона. 
      </button> 
     </li> 

     <li> 
      <button type="submit" name="mybutton" value="task2"> 
       Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список. 
      </button> 
     </li> 

     <li> 
      <button type="submit" name="mybutton" value="task3"> 
       Выбор изображения по тематике (природа, автомобили, дети и т.д.) и его отображение. 
      </button> 
     </li> 
    </ul> 
</form> 

在你的servlet:

String req = request.getAttributeName('mybutton'); 
1

實現這一目標是用三年的形式和隱藏字段最簡單的方法:

<ul> 
    <li> 
     <form action="xmlServletPath" method="POST" id="c1"> 
      <input type="hidden" name="parameter" value="task1" /> 
      <input type="submit" name="task1" value="Генерация таблиц по переданным параметрам: заголовок, количество строк и столбцов, цвет фона." /> 
     </form> 
    </li> 
    <li> 
     <form action="xmlServletPath" method="POST" id="c2"> 
      <input type="hidden" name="parameter" value="task2" /> 
      <input type="submit" name="task2" value="Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список." /> 
     </form> 
    </li> 
    <li> 
     <form action="xmlServletPath" method="POST" id="c3"> 
      <input type="hidden" name="parameter" value="task3" /> 
      <input type="submit" name="task3" value="Выбор изображения по тематике (природа, автомобили, дети и т.д.) и его отображение."/> 
     </form> 
    </li> 
</ul> 

1

顯然,當你有一個3只形態1可以壓上提交按鈕,所以只是檢查所有3:

String submitBtn01_Value = request.getParameter("task1"); 
String submitBtn02_Value = request.getParameter("task2"); 
String submitBtn03_Value = request.getParameter("task3"); 

哪一個不是null是被按下的一個。

但是對於我來說,只需將所有提交按鈕命名爲相同的東西(例如「提交」)並通過值切換即可。 (但是我的永遠不會和你一樣長。)

String submitBtnValue = request.getParameter("submit"); 
if("first task name".equals(submitBtnValue)) 
{ 
    ... 
} 
else if("second task name".equals(submitBtnValue)) 
.....