Struts2 с использованием методов Getts / Setter в стиле Struts1 для индексированных свойств - PullRequest
0 голосов
/ 04 мая 2018

В Struts (1/2) индексированное свойство на HTML-странице выглядит следующим образом: <input type="text" name="myIdxProp[1]" value="foo" />

В Struts 1 соответствующие методы Getter / Setter-Methods, которые вызываются при заполнении компонента в Struts-FormBean (Model) для этих индексированных свойств, выглядят так:

public void setMyIdxProp(int index, String value){
   // Do something with the value
}
public String getMyIdxProp(int index) {
   String retVal = "" //get the value from somewhere
   return retVal;
}

Struts 2 работает со списками (или другими коллекциями) следующим образом:

public List<String> getMyIdxProp(){
    return this.myIdxProp;
}
public void setMyIdxProp(List<String> myIdxProp){
    this.myIdxProp = myIdxProp;
}

Мой вопрос: есть ли способ научить Struts2 использовать заполнение в стиле Struts1 для индексированных свойств?

Может быть, какой-то вид перехватчика или фильтра популяции бобов. Цель состоит в том, чтобы иметь возможность использовать оба метода в конце (возможно, с некоторым флагом для включения / отключения перехватчика / фильтра).

Любая подсказка приветствуется. Я действительно не знаю, как этого добиться, не меняя все мои StrutsForms.

Справочная информация. У нас есть старое приложение Struts1, которое необходимо восстановить и перенести в Struts2. План состоит в том, чтобы максимально использовать Действия и Формы.

1 Ответ

0 голосов
/ 08 мая 2018

Перезапись Struts2 ParamsInterceptor сделала свое дело для меня.

...