我有一个带有几个预定义文本框的表单,现在除此之外我还创建了一些动态文本框,我可以用 javascript 来完成它(我猜)。提交表单时,如何将动态生成的文本框的值设置为 bean。在 bean 中,我定义了字符串数组来保存动态生成的文本框值的内容。我没有使用任何框架,请指导我如何执行此操作?
P粉8845486192023-12-12 00:47:45
您可以为所有输入字段指定相同的名称,然后使用 request.getParameterValues() 来按 HTML DOM 树中出现的顺序获取所有值。
例如(JavaScript 生成)
<input type="text" name="foo" />
<input type="text" name="foo" />
<input type="text" name="foo" />
...
与
String[] values = request.getParameterValues("foo"); // ...
您还可以在名称后添加递增数字,例如 foo1
、foo2
、foo3
等,并在循环中收集值直到收到 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); } // ...