JSF <ui:include>包含在<h:body>中不触发preRenderView事件的页面

时间:2017-02-22 19:02:38

标签: html jsf events jsf-2 prerenderview

我正在使用JSF 2.0.1并在尝试使用header.xhtml<ui:include src="header.xhtml"></ui:include>添加到其他页面时观察到差异,代码示例如下:

header.xhtml

此页面将作为一个组件添加到主页面上,它包含用于检查是否允许用户登录该主页面的preRenderView事件。

<h:head>
    <title>Header</title>
</h:head>
    <f:event type="preRenderView" listener="#{authorize.checkAuthentication}"/>
<h:body></h:body>

如果我在主页上使用{/ 1}} <ui:include src="header.xhtml"></ui:include>部分,如下所示:

Major.xhtml

<h:body>

问题是<h:head> <title>Major</title> </h:head> <h:body> <ui:include src="header.xhtml"></ui:include> <f:view></f:view> </h:body> <f:event>未触发,在另一个字header.xhtml功能无法正常工作

但是,如果我将checkAuthentication移出主页上的<ui:include src="header.xhtml"></ui:include>部分而将其置于 <h:body>之前,则会触发事件并且功能正常。

<h:body>

有人可以帮我解释为什么会出现这种差异吗?是否有任何专业的方法来解决这种情况,因为保持标题页内容并触发事件?感谢

注意:我也检查this ticket,但不确定我们是同一个案例

0 个答案:

没有答案