【问题标题】:Variable number of fields in form using struts 1.X使用 struts 1.X 的表单中可变数量的字段
【发布时间】:2010-10-13 14:15:41
【问题描述】:

我需要构建一个表单来加载一个表格,该表格在每一行中都包含一个复选框和一个输入文本(行数是可变的,因为它是从数据库加载的)。所以我的问题是:

  1. 关联的formbean应该有哪些字段?数组列表?一个 HashMap 吗?
  2. 我如何知道(提交表单后)选择了哪个复选框,以便我考虑相应的输入文本?

我使用 struts 1.X 作为框架。

提前致谢!

【问题讨论】:

    标签: struts


    【解决方案1】:

    就个人而言,我会为复选框使用数组(列表),为输入文本使用地图。您必须考虑这样一个事实,即如果未选中复选框,则不会在请求中发送复选框,但始终会发送所有输入文本。因此,将复选框的值与输入文本的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 2011-03-05
      • 1970-01-01
      相关资源
      最近更新 更多