【发布时间】:2010-10-13 14:15:41
【问题描述】:
我需要构建一个表单来加载一个表格,该表格在每一行中都包含一个复选框和一个输入文本(行数是可变的,因为它是从数据库加载的)。所以我的问题是:
- 关联的formbean应该有哪些字段?数组列表?一个 HashMap 吗?
- 我如何知道(提交表单后)选择了哪个复选框,以便我考虑相应的输入文本?
我使用 struts 1.X 作为框架。
提前致谢!
【问题讨论】:
标签: struts
我需要构建一个表单来加载一个表格,该表格在每一行中都包含一个复选框和一个输入文本(行数是可变的,因为它是从数据库加载的)。所以我的问题是:
我使用 struts 1.X 作为框架。
提前致谢!
【问题讨论】:
标签: struts
就个人而言,我会为复选框使用数组(列表),为输入文本使用地图。您必须考虑这样一个事实,即如果未选中复选框,则不会在请求中发送复选框,但始终会发送所有输入文本。因此,将复选框的值与输入文本的 map 参数相匹配,例如:
<input type="checkbox" name="ckName" value="val1" ../>
<input type="text" name="mapMethod(val1)" ../>
<input type="checkbox" name="ckName" value="val2" ../>
<input type="text" name="mapMethod(val2)" ../>
<input type="checkbox" name="ckName" value="val3" ../>
<input type="text" name="mapMethod(val3)" ../>
...
这意味着您将始终拥有包含所有值的地图:
val1 = "textbox 1 value"
val2 = "textbox 2 value"
val3 = "textbox 3 value"
...
还有一个选中的复选框列表,可以是:
[val1]
[val1, val2]
[val1, val2, val3]
... different combinations or []
然后,您只为在您的复选框值列表中找到的键保留地图中的文本框值。
附:还记得reset your checkboxes。
【讨论】: