Я считаю, что это должно быть чрезвычайно очевидно, но пока мне не удалось найти ответ.
Я хочу, чтобы список строк (или массив строк, мне действительно все равно) заполнялся данными формы в Struts2.
Я видел несколько примеров того, как делать индексированные свойства с bean-компонентами , но перенос одной строки внутри объекта кажется довольно глупым.
Итак, у меня есть что-то вроде
public class Controller extends ActionSupport {
private List<String> strings = new ArrayList<String>();
public Controller() {
strings.add("1");
strings.add("2");
strings.add("3");
strings.add("4");
strings.add("5");
}
public String execute() throws Exception {
return ActionSupport.SUCCESS;
}
public List<String> getStrings() {
return strings;
}
public void setStrings(List<String> s) {
strings = s;
}
}
...
<s:iterator value="strings" status="stringStatus">
<s:textfield name="strings[%{#stringStatus.index}]" style="width: 5em" />
</s:iterator>
Поля формы заполняются своими начальными значениями (например, 1, 2 и т. Д.), Но результаты не отправляются должным образом обратно. setStrings
никогда не вызывается, но значения устанавливаются в пустые строки.
Кто-нибудь знает, что происходит? Заранее спасибо!