|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
Хранение лишней информации в ActionForm (struts)21.10.2009, 10:30. Показов 1285. Ответов 5
Метки нет (Все метки)
используем стратс.
мне надо на веб-странице показать некую информацию о некоей группе. для этого я использую ActionForm. а вот дополнительно я хочу показать еще некую историю сообщений/операций, связанные с этой группой. технически можно положить в Action эту информацию прямо в этот ActionForm, и потом в jsp распечатать. но идеологически это как-то некрасиво - все-таки предназначение у ActionForm немного не то... пожалуй, лучше лишние данные в ActionForm не складывать, а положить, как и всё прочее, просто в request attribute. кто-то может эту мысль прокомментировать?
0
|
|
| 21.10.2009, 10:30 | |
|
Ответы с готовыми решениями:
5
Struts. Как передать параметр в actionForm?
Вывод лишней информации из файла |
|
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
|
|
| 21.10.2009, 10:39 | |
|
Я бы ввобще ничего не клал в 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 [ТС] | |
|
'история' - я имею в виду немного другое. в некоей группе были какие-то операции, эту информацию надо выгребать из БД и показывать на странице. то есть это не для сессии, а именно для реквеста.
проблема лишь в том, что не хотелось бы опять отдельный объект в реквест складывать, наряду с самим Form. но с другой стороны, в явадоках про Form довольно внятно написано, зачем он должен использоваться. и хранить там лишние данные неловко как-то
0
|
|
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
||||||
| 21.10.2009, 11:51 | ||||||
|
позвольте с Вами не согласиться %))
если идет жесткая привязка истории к конкретному бину (что-то наподобие отношения 'композиция', а не 'агрегация'), то имеет смысл засовывать это в форму. хранить все в сессии - подумайте, что там будет твориться после 10 запросов... а таких юзверей еще сделаем штук 100-10000... другое дело, как это засовывать в форму. один вариант - делать эти пропертис полями класса. тогда из бина в форму можно перегонять по одному (или юзать BeanUtils). более рационально - делать в классе формы поле-бин. например, в форме будет холдер TransactionHistory. тогда мы берем этот бин в бизнес-уровне, а в Action делаем форме setTransactionHistory(theHistory); в JSP юзаются вложенные (nested) пропертис. например, для текстфилда будет что-то вроде:
я правильно понял проблему?
0
|
||||||
|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
| 21.10.2009, 11:57 [ТС] | |
|
в сессию, конечно, я складывать такие вещи не буду
)'делать в классе формы поле-бин' - да, это именно то, что я собираюсь делать. но останавливает меня тот момент, что вообще-то эти форм-бины сделаны для передачи параметров (с валидацией) со страницы в Action. то есть я явно лишние вещи туда складывать собираюсь.
0
|
|
|
0 / 0 / 2
Регистрация: 24.08.2008
Сообщений: 119
|
|
| 22.10.2009, 13:27 [ТС] | |
|
собственно, такой вот обобщенный вопрос -
принято ли в стратс использовать ActionForm для отображения какой-то информации на страницах, или же исключительно для заполнения/проверки/обратного отображения форм?
0
|
|
| 22.10.2009, 13:27 | |
|
Помогаю со студенческими работами здесь
6
И снова проблема со Struts (validate): Cannot find message resources under key org.apache.struts.action.Message Хранение информации
Хранение информации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|