JSF Неизвестные системные события - PullRequest
0 голосов
/ 21 июля 2011

Я работаю над проектом JSF 2.0 и изучаю преимущества использования системных событий.Однако в книге, на которую я ссылаюсь 'Core Java Server Faces 3rd Edition' , перечислены 14 типов системных событий, которые можно использовать в атрибуте типа тега f: event.Некоторые из них работают так, как я ожидал, например, «preRenderComponent» для тега UIComponent или «preRenderView» для тега UIViewRoot.Но, кроме этих двух и нескольких избранных, ни одно из других событий, упомянутых в книге, не работает.Например, я не могу заставить событие типа postRestoreState работать с UIComponent.Вместо этого, когда JSF пытается отобразить страницу, я получаю исключение ClassNotFound, предположительно для класса системных событий, который должен обрабатывать события postRestoreState или любое другое событие, которое я пытаюсь прослушать.

Почемуэти другие типы событий не работают?Есть ли какая-то другая библиотека, которая мне нужна, или есть какой-то другой способ реализации прослушивателя системных событий, который мне нужно использовать.Ниже приведен пример одного такого тега, который не работает:

            <h:commandLink
                action="editPlant"
                value="#{appMessages.UsersNavigationAddPlant}"
                styleClass="#{userSession.selectedStyle}"
                >
                <f:event type="postRestoreState" listener="#{userSession.setSelectedStyle()}" />
            </h:commandLink> 

1 Ответ

1 голос
/ 21 июля 2011

Похоже, вам нужно полное имя класса:

<f:event type="javax.faces.event.PostRestoreStateEvent" listener="#{bean.postRestoreState}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...