这些的执行顺序是什么?
这是一个关于可能的f:event事件名称的问题:JSF 2事件列表?
preRenderComponent
preRenderView
postAddToView
preValidate
postValidate
Run Code Online (Sandbox Code Playgroud)
我想检查用户是否保存在会话bean中,如果没有重定向到登录站点,这需要在view-param转换阶段之前发生,因为使用的转换器依赖于登录的用户.'preValidate'似乎是在转换后发生的,因此我需要更早的事件.
<f:event type="preRenderView" listener="#{beanA.checkLoggedIn()}"/>
<f:viewParam name="param" value="#{beanB.param}" converter="#{beanB.converter}" required="true"/>
Run Code Online (Sandbox Code Playgroud)
我也可以在'beanB'中加入'checkLoggedIn()',但是试图使用一个单独的请求范围的bean来进行检查,以便我可以轻松地重用它.