我有一個(gè)帶有幾個(gè)預(yù)定義文本框的表單,現(xiàn)在除此之外我還創(chuàng)建了一些動(dòng)態(tài)文本框,我可以用 javascript 來(lái)完成它(我猜)。提交表單時(shí),如何將動(dòng)態(tài)生成的文本框的值設(shè)置為 bean。在 bean 中,我定義了字符串?dāng)?shù)組來(lái)保存動(dòng)態(tài)生成的文本框值的內(nèi)容。我沒(méi)有使用任何框架,請(qǐng)指導(dǎo)我如何執(zhí)行此操作?
您可以為所有輸入字段指定相同的名稱(chēng),然后使用 request.getParameterValues() 來(lái)按 HTML DOM 樹(shù)中出現(xiàn)的順序獲取所有值。
例如(JavaScript 生成)
<input type="text" name="foo" /> <input type="text" name="foo" /> <input type="text" name="foo" /> ...
與
String[] values = request.getParameterValues("foo"); // ...
您還可以在名稱(chēng)后添加遞增數(shù)字,例如 foo1
、foo2
、foo3
等,并在循環(huán)中收集值直到收到 null
。
例如
<input type="text" name="foo1" /> <input type="text" name="foo2" /> <input type="text" name="foo3" /> ...
與
List<String> foos = new ArrayList<String>(); for (int i = 1; i < Integer.MAX_VALUE; i++) { String foo = request.getParameter("foo" + i); if (foo == null) break; foos.add(foo); } // ...