Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> struts2. Сохранение массивов данных из формы 
:(
    Опции темы
startpoint
Дата 31.8.2012, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 4.7.2007

Репутация: нет
Всего: нет



В браузере пользователя javascript'ом (ExtJS) рисуется форма. Заранее неизвестно сколько полей(подразделов) будет в этой форме. Каждый подраздел описывает какую то сущность, у котрой имеется, допустим, два свойства - name и lastName. Представим, что это выглядит так:
Код

<form name="persons" action="/persons.action" method="post">
    <input type="text" name="persons[0].lastName" value="aaa" />
    <input type="text" name="persons[0].name" value="bbb" />
    <input type="text" name="persons[1].lastName" value="xxx" />
    <input type="text" name="persons[1].name" value="zzz" />
</form>

Так вот, товарищи, как это получить хоть в каком нибудь виде (бины, хэш-мэпы...) на серверной стороне. Использую struts версии 2.3.4.1. Я перепробовал всё уже и убил на это целый долбаный день если не больше и кучу нервов. Лично у меня, все эти советы не работают:
http://struts.apache.org/2.3.4.1/docs/type-conversion.html
http://stackoverflow.com/questions/7889623...ield-in-struts2
http://stackoverflow.com/questions/1090125...-into-an-action
http://stackoverflow.com/questions/6313790...struts-2-action
http://stackoverflow.com/questions/5834944...-from-form-data и ещё целая куча... Либо сеттеры на action-классе не вызываются, либо вызываются не те, которые ожидаешь, но и в любом случае приходит только null и какие то эксепшены. Я не хочу приводить никакого кода т.к. его написано и затёрто уже куча. Просто, если у кого то есть работающий пример - скинтье плиз сюда. Буду примного благодарен.

Это сообщение отредактировал(а) startpoint - 31.8.2012, 14:28
PM MAIL   Вверх
Матильда
Дата 7.9.2012, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 24.10.2008
Где: СПб

Репутация: нет
Всего: нет



startpoint, если я правильно поняла проблему, попробуй так:

Код

        <logic:iterate id="row" name="..." property="persons" indexId="index">
            <tr>                
                <td><bean:text name="..." property='<%="persons[" + index + "].lastName"%>' styleClass="text"/></td>
                <td><html:text name="..." property='<%="persons[" + index + "].name"%>' styleClass="text"/></td>
            </tr>
        </logic:iterate>


В экшене в цикле:
Код

...
Person person = new Person();
person.setLastName(persons[i].getLastName());
person.setName(persons[i].getName());
...


Возможно существуют более оптимальные решения, но мне в свое вемя нужно было сделать быстро и ничего лучше я не придумала.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.