JSF未知系统事件



我正在一个JSF 2.0项目中工作,并且正在学习使用System Events的好处。然而,我所引用的《Core Java Server Faces 3rd Edition》一书列出了总共14种可以在f:event标签的type属性中使用的系统事件类型。他们中的一些工作如我所料,例如。uiccomponent标签上的" preendercomponent ",或者UIViewRoot标签上的" preenderview "。但是,除了这两件事,还有一些其他的事情,书中提到的其他事情都不成立。例如,我不能让事件的postRestoreState类型在ui组件上工作。相反,当JSF尝试呈现页面时,我得到一个ClassNotFound Exception,可能是系统事件类,它应该处理postRestoreState事件,或者我试图侦听的任何事件。

为什么其他事件类型不起作用?是否还有其他需要的库,或者是否有其他实现系统事件侦听器的方法需要使用。下面是一个这样的标签失败的例子:

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

看起来您需要完整的类名:

<f:event type="javax.faces.event.PostRestoreStateEvent" listener="#{bean.postRestoreState}"/>

相关内容

  • 没有找到相关文章

最新更新