【发布时间】:2016-01-17 16:46:00
【问题描述】:
我想知道是否有办法在渲染响应之前调用托管 bean 方法。我有依赖于托管 bean 属性的组件,但需要在呈现响应之前填充该属性。通常,我一直在使用@PostContruct 方法来初始化我的bean,一切都很好。这次我遇到了一种罕见的情况,我需要模板在其他任何事情发生之前将值传递给 bean。
我有 JSF 2.2.12 和 Tomcat 7。我尝试了 f:viewAction 但该标记不会触发 bean 方法。它根本不起作用。
这就是我的 viewAction。
<f:metadata>
<f:viewAction action="#{cmsUtil.loadPageAssignments('50|27|1|21|2|52|53|23|24|25|28|29|30|31|32|33|17|26|18')}"/>
</f:metadata>
还有其他方法可以做我想做的事情吗?
【问题讨论】:
-
我能够让 viewAction 工作。问题是标签在基本模板文件中不起作用。它似乎想要处理最初的 facelets 文件。有没有办法让它在模板 facelets 文件上工作?
-
注意:我编辑了错误的要求。您描述了视图构建时间,而不是视图渲染时间。另见stackoverflow.com/q/3342984
标签: templates jsf initialization facelets