f:events的jsf执行顺序
这些案件的执行顺序是什么 这里有一个关于可能的f:events的jsf执行顺序,events,jsf,Events,Jsf,这些案件的执行顺序是什么 这里有一个关于可能的f:event事件名称的问题: 我想检查用户是否保存在会话bean中,如果未登录,则重定向到登录站点,这需要在查看参数转换阶段之前进行,因为使用的转换器取决于登录的用户。”“preValidate”似乎发生在转换之后,因此我需要一个更早的事件 <f:event type="preRenderView" listener="#{beanA.checkLoggedIn()}"/> <f:viewParam name="param" va
f:event
事件名称的问题:
我想检查用户是否保存在会话bean中,如果未登录,则重定向到登录站点,这需要在查看参数转换阶段之前进行,因为使用的转换器取决于登录的用户。”“preValidate”似乎发生在转换之后,因此我需要一个更早的事件
<f:event type="preRenderView" listener="#{beanA.checkLoggedIn()}"/>
<f:viewParam name="param" value="#{beanB.param}" converter="#{beanB.converter}" required="true"/>
我也可以在'beanB'中添加'checkLoggedIn()',但是我尝试使用一个单独的请求范围bean来进行检查,这样我就可以很容易地重用它
这些案件的执行顺序是什么
- 在视图生成期间(通常在恢复视图阶段,但也可以在渲染响应阶段,例如导航)将组件添加到视图后立即运行
- 在验证组件之前运行(通常在验证阶段,但如果
,也可以在应用请求值阶段)immediate=“true”
- 组件验证后立即运行(通常在验证阶段,但如果
,也可以在应用请求值阶段)immediate=“true”
- 在渲染响应阶段渲染视图之前运行
- 在渲染响应阶段渲染组件之前运行
我想检查用户是否保存在会话bean中,如果未登录,则重定向到登录站点,这需要在查看参数转换阶段之前进行,因为使用的转换器取决于登录的用户。”“preValidate”似乎发生在转换之后,因此我需要一个更早的事件
<f:event type="preRenderView" listener="#{beanA.checkLoggedIn()}"/>
<f:viewParam name="param" value="#{beanB.param}" converter="#{beanB.converter}" required="true"/>
为此,您应该使用简单的JSF事件,而不是JSF事件。我以前发布过几个例子:
immediate=“true”
的情况下,组件上根本不会调用preValidate
/postValidate
。查看Mojarra的源代码可以证实这一点。应该是这样吗?