2010-07-23 25 views
0

當我像如果我提供動態名稱,如何檢索servlet中複選框的名稱?

<input type="checkbox" name="<%=i%>" /> 

環路內提供一個複選框的動態名字我怎麼能檢索的servlet的價值?

+1

爲什麼你需要這樣的功能?動態表單在Java Web編程中是一個壞主意,因爲您無法將表單映射到Java bean。 如果你不需要它們(具有動態的「隱藏」屬性而不是動態名稱),我寧願預渲染一個可隱藏字段的表單。 – 2010-07-23 08:21:15

+1

@Benoit:如果你不知道自己在做什麼,他們只是一個壞主意。 – BalusC 2010-07-23 12:50:21

回答

0

方式三:

  1. 只需重新運行相同的for循環servlet作爲你的JSP做了(你真的知道循環條件),並且做在每個迭代上request.getParameter(i)並在必要時添加的每個參數值的List<String>,以便以後可以輕鬆處理。

  2. 在參數名稱前加上某個字符串,例如: name="foo${i}",通過request.getParameterMap()獲取所有參數,將其循環並確定name.startsWith("foo")以及是否有必要收集List<String>中的匹配值。

  3. 只給所有複選框相同的名稱,但不同的值,並抓住request.getParameterValues("checkboxname");。它將返回一個包含所有值的String[]

方式3是正常的做法。


這就是說,小腳本(那些<% %>東西在你的代碼)表示陋習。我建議通過以下鏈接扔掉老式的JSP/Servlet的書/教程您當前正在閱讀,讓自己學會如何做正確的事情:

相關問題