<f:event> </f:event>的奇怪行为

时间:2014-11-26 15:23:33

标签: primefaces jsf-2 httplistener

我正在使用PrimeFaces 5,Glassfish服务器ver.4和firefox作为浏览器。我正在通过Netbeans8.0.1开发一个Web应用程序,在index.xhtml页面中,我需要在每次登录时显示一个提示列表。 为此,我在index.xhtml页面中使用此代码

<f:event type="preRenderView" listener="#{promemoriaController.promemoriaInScadenza()}"/>

此“f:event”位于“f:metadata&gt;标记之外。 我不知道为什么但每次登录都会执行两次f:event listner。 我确信promemoriaController.promemoriaInScadenza()的用法仅在f:event&gt;中。 非常感谢您的回复

2 个答案:

答案 0 :(得分:1)

看起来这个<f:event>元素的容器被渲染了2次。 1从初始页面加载,另一个,可能来自一些ajax动作

您可以检查此的所有父元素,并查看是否有任何这些元素被调用以从其他操作更新。使用autoupdate="true"属性还可以触发一些意外更新和重新渲染

答案 1 :(得分:-1)

检查<f:event/>标记是否在<f:metadata>内 - 如果是,请将其放在外面。