2013-09-14 3 views
1

Как добавить значение от textfield к из String и после отправки формы есть возможность добавлять другие значения, не теряя при этом все ранее сохраненные?Сохранение значений ArrayList после отправки формы

Ожидаемый результат: после каждой подачи формы у list есть еще один номер String.

Добавление представлено значение ArrayList в Action классе не работает, потому что после следующей отправки формы, он делает не содержат ранее добавленную стоимость.

ответ

2

Выпуск: -Добавление представленное значение ArrayList в классе Action не работает, потому что после следующего представления формы оно не содержит ранее добавленное значение.

Ans- Это обыкновение сохранять данные в вашем ArrayList как экземпляр класса действий будет создаваться для каждого запроса.

Таким образом, вы либо иметь возможность хранить его в database, чтобы сделать persist.And каждый раз, когда запрос пользователя это ты query your database получить List ваших textfield значений.

И если вы говорите об одном сеансе, то вы можете даже textfield значений в session.

+0

Что касается рамок struts 2, представленные значения сохраняются в сеансе. Поэтому, когда я ввожу значение в 'textfield', после представления это' texfield' отображает последнее введенное значение, поэтому это означает, что свойство, которое было связано с этим «текстовым полем», было сохранено в сеансе. Невозможно автоматически сохранить 'ArrayList' то же самое значение из' textfield'? –

+1

@KamilChaber Не так. Это не то, как работает 'struts'. Это не значение в' session', которое вы видите. Вы видите «кешированное значение». Единственный способ сделать это - сохранить значение параметра запроса в ** 'постоянное хранилище ', если вы хотите его через пользователей ** o/w **, если вы хотите их за сеанс, вы также можете хранить их за сеанс **. Вы можете заполнить свой« ArrayList »в классе действий с значениями 'textfield', но он будет доступен только для этого запроса. Удостоверьтесь, что вы хотите сохранить его как' per session/per request/для каждого запроса' –

+0

@KamilChaber Использовать интерфейс SessionAware для получения 'session' variable.Thanks для голосования вверх. –

2

храните его в сеансе и извлекайте его. или использовать базу данных, чтобы сохранить строку и получить его

EDIT:

session.setAttribute("listName",list); 

будет хранить свой список в сессии, которая будет доступна для конкретного пользователя

Смежные вопросы