我正在使用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;中。 非常感谢您的回复
答案 0 :(得分:1)
看起来这个<f:event>
元素的容器被渲染了2次。 1从初始页面加载,另一个,可能来自一些ajax动作
您可以检查此的所有父元素,并查看是否有任何这些元素被调用以从其他操作更新。使用autoupdate="true"
属性还可以触发一些意外更新和重新渲染
答案 1 :(得分:-1)
检查<f:event/>
标记是否在<f:metadata>
内 - 如果是,请将其放在外面。