0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
1 | |
Хранение лишней информации в ActionForm (struts)21.10.2009, 10:30. Просмотров 1090. Ответов 5
Метки нет Все метки)
(
используем стратс.
мне надо на веб-странице показать некую информацию о некоей группе. для этого я использую ActionForm. а вот дополнительно я хочу показать еще некую историю сообщений/операций, связанные с этой группой. технически можно положить в Action эту информацию прямо в этот ActionForm, и потом в jsp распечатать. но идеологически это как-то некрасиво - все-таки предназначение у ActionForm немного не то... пожалуй, лучше лишние данные в ActionForm не складывать, а положить, как и всё прочее, просто в request attribute. кто-то может эту мысль прокомментировать?
0
|
|
21.10.2009, 10:30 | |
Struts. Как передать параметр в actionForm?
Вывод лишней информации из файла
__________________
5
Помогаю в написании курсовых работ и дипломов здесь. Записывайтесь на профессиональные курсы Java-разработчиков |
|
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
|
|
21.10.2009, 10:39 | 2 |
Я бы ввобще ничего не клал в request attributes. Лучше иметь java bean -- хранитель всей информации, а уже его и класть в request. И всегда с одним и тем же имененм. Ну это в идеале.
Погди, а почему request. тебеж надо разделять информацию между запросами. значит в сессию. Короче, идея такакя. В request не кладем вообще ничего. Никогда. Исключение -- сервлет выполняет обработку, не сам, естественно, а поручив ее обычному java классу, а потом все, что нужно показать, отдает jsp. Вот в этом случае в request надо положить объект, содержащий в себе все данные для отображения. Чтобы jsp только брала их и отображала. Другими словами, все сущности, рвемя жизни которых не превышает времени жизни запроса, никуда не кладем, а разбираемся на месте. Вто если приходится хранить историю запросов, то её место в сессии. И тоже в виде простого java bean. Тут, конечно, не работает ограничение единственности атрибута ![]()
0
|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
21.10.2009, 11:04 [ТС] | 3 |
'история' - я имею в виду немного другое. в некоей группе были какие-то операции, эту информацию надо выгребать из БД и показывать на странице. то есть это не для сессии, а именно для реквеста.
проблема лишь в том, что не хотелось бы опять отдельный объект в реквест складывать, наряду с самим Form. но с другой стороны, в явадоках про Form довольно внятно написано, зачем он должен использоваться. и хранить там лишние данные неловко как-то ![]()
0
|
3 / 3 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
21.10.2009, 11:51 | 4 |
позвольте с Вами не согласиться %))
если идет жесткая привязка истории к конкретному бину (что-то наподобие отношения 'композиция', а не 'агрегация'), то имеет смысл засовывать это в форму. хранить все в сессии - подумайте, что там будет твориться после 10 запросов... а таких юзверей еще сделаем штук 100-10000... другое дело, как это засовывать в форму. один вариант - делать эти пропертис полями класса. тогда из бина в форму можно перегонять по одному (или юзать BeanUtils). более рационально - делать в классе формы поле-бин. например, в форме будет холдер TransactionHistory. тогда мы берем этот бин в бизнес-уровне, а в Action делаем форме setTransactionHistory(theHistory); в JSP юзаются вложенные (nested) пропертис. например, для текстфилда будет что-то вроде: Код
<html:text property='item.history.someProperty'/> я правильно понял проблему? ![]()
0
|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
21.10.2009, 11:57 [ТС] | 5 |
в сессию, конечно, я складывать такие вещи не буду
![]() 'делать в классе формы поле-бин' - да, это именно то, что я собираюсь делать. но останавливает меня тот момент, что вообще-то эти форм-бины сделаны для передачи параметров (с валидацией) со страницы в Action. то есть я явно лишние вещи туда складывать собираюсь.
0
|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
22.10.2009, 13:27 [ТС] | 6 |
собственно, такой вот обобщенный вопрос -
принято ли в стратс использовать ActionForm для отображения какой-то информации на страницах, или же исключительно для заполнения/проверки/обратного отображения форм?
0
|
22.10.2009, 13:27 | |
Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь. И снова проблема со Struts (validate): Cannot find message resources under key org.apache.struts.action.Message Хранение информации
Хранение информации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |