我在 f:metadata 元素中使用预渲染视图事件从另一个页面调用页面。
如果我使用它导航到页面<h:link>
并调用侦听器方法。
但是,如果我使用属于调用页面的托管 bean 的操作方法的结果导航到该页面,则不会调用 prerenderview 中指定的侦听器(就像通过链接调用时一样)。它确实导航到第二页,只是没有侦听器调用。
我真的更喜欢从 action 方法调用,因为我用它来做一些工作,并在会话映射中放置一个变量供被调用页面使用。我不确定如何使用链接来实现相同的目的。该对象可能相当大...... kb 不是 Mb 但仍然不是我想放入请求中的东西。
我已经尝试使调用页面请求的托管 bean 范围和视图范围。
如果从托管 bean 结果调用 prerenderview 是否不可能触发它?正如我所说,我通过链接让它工作。
<body>
<ui:define name="metadata">
<f:view>
<f:metadata>
<f:event type="preRenderView" listener="#{businessBean.init}" />
</f:metadata>
</f:view>
</ui:define>
<ui:composition template="#{navigationprops.soulard_2col_uprefs_template}">