Настройка формы Struts2 не будет работать со стандартным массивом - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь сохранить данные формы, используя теги Struts 2.

Форма содержит <s:textfield>, который изначально был заполнен методом получения, возвращающим массив.

Теперь я хотел бы изменить содержимое формы и затем отправить форму, но метод 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 не вызывается при отправке формы.

Эта проблема особенно связана с сеттерами, которые принимают в качестве аргумента массив, все остальные сеттеры с аргументами, не являющимися массивами (включая ArrayList), работают нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...