【问题标题】:JSF Unknown System EventsJSF 未知系统事件
【发布时间】:2011-10-09 17:38:32
【问题描述】:

我正在处理一个 JSF 2.0 项目,并且正在学习使用系统事件的好处。但是,我引用的书'Core Java Server Faces 3rd Edition' 总共列出了 14 种系统事件类型,可以在 f:event 标签的 type 属性中使用。其中一些按我的预期工作,例如UIComponent 标签上的“preRenderComponent”,或 UIViewRoot 标签上的“preRenderView”。但是,除了这两个,以及其他几个,书中提到的其他事件都不起作用。例如,我无法让 postRestoreState 类型的事件在 UIComponent 上工作。相反,当 JSF 尝试呈现页面时,我得到了一个 ClassNotFound 异常,可能是系统事件类应该处理 postRestoreState 事件,或者我试图监听的任何事件。

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

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

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    看来您需要完整的类名:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多