Struts2表单设置不适用于标准Array

时间:2019-06-12 10:40:11

标签: struts2

我正在尝试使用Struts 2标签保存表单数据。

该表单包含一个<s:textfield>,最初是通过返回数组的getter方法填充的。

现在,我想修改表单内容然后提交表单,但是在提交表单时不会调用将数组作为参数的setter方法。

java formBean:

class MyBean {
  // the following field is initialized by some method with data like
  // userNames[0].getValue() = "ravi";
  // userNames[1].getValue() = "chandra" ;

  private UserNames[] userNames;

  public UserNames[] getUserNames() {
    return this.userNames;
  }

  public void setUserNames(UserNames[] userNames) {
    this.userNames= userNames;
  }
}

JSP:

<s:iterator value="userNames" status="stat">
  <s:textfield name="userNames[%{#stat.index}].value" />
</s:iterator>

未在表单提交上调用设置方法setUserNames

此问题尤其适用于以Array作为参数的setter, 其他所有带有非数组参数的设置器(包括ArrayList)都可以正常工作。

0 个答案:

没有答案