| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JSF - присвоить значение свойства бину |
| Автор: archez 8.6.2009, 14:55 |
| Помогите с проблемой, плз. Необходимо из JSF страницы *.xhtml присвоить значение параметру бина. копал в сторону <c:set ... и <jsp:setProperty но не срабатывает. |
| Автор: powerOn 8.6.2009, 18:48 |
| не совсем понятна задача. значения присваиваются свойствам бинов через формы или с использованием action-ов (от конкретной задачи зависит). |
| Автор: archez 9.6.2009, 04:39 |
| Через формы или с использованием action-ов значения свойствам присваиваются при взаимодействии с пользователем. В моем случае нужно присвоить значение свойству бина при загрузке страницы, т.е. до того как пользователь успел что либо на странице кликнуть. PS: И еще такой вопрос: каким образом можно из jsf страницы (*.xhtml - использую facelets), динамически создавать бины в контексте сессии, т.е. не определяя их в faces-config.xml |
| Автор: archez 10.6.2009, 07:35 |
| если чуть подробнее, то идея вот какая - есть сессионный бин - он один для всех страниц, своего рода универсальное хранилище, для определенности PageBean. В зависимости от того с какой стринцы к нему идет обращение этот бин будет обращаться к тому или иному классу. Эти классы реализуют логику конкретной страницы. Обращение к ним идет через определенный интерфейс, который каждый из этих классов реализует. Но для того, чтобы обратиться к определенному классу нужно либо из *.xhtml в PageBean передать ссылку на этот класс (в идеале - динамически создать бин в контексте сессии), либо какое либо уникально значение - тогда экземпляр нужного класса я смогу создать в бине либо, если он уже создан - извлечь из мапа. |
| Автор: powerOn 10.6.2009, 10:50 | ||
А может инвертировать взаимодействие? Каждая страница обращается к нужному классу (бину нужного класса) которые в свою очередь имеет доступ к PageBean? Т.е. сейчас: Page -> Page Bean -> Logic Bean. А если: Page -> Logic Bean -> Page Bean. С другой стороны получится необходимость создавать дополнительный бин на каждую страницу и ставить его в цепочке взаимодействия между страницей и PageBean. [Page -> Additional Bean -> Page Bean -> Logic Bean]. Additional Bean смог бы идентифицировать страницу. Но честно говоря мне такой подход не очень нравится. |
| Автор: archez 11.6.2009, 04:28 | ||
Да, пожалуй, так будет лучше. |