时间:2011-07-21 07:42:35

标签: jsf-2 jstl facelets

我有以下内容:

<ui:param name="randomVideo" value="#{bean.randomVideo}" />
<a href="#{randomVideo.link}">#{randomVideo.text}</a&></pre>

由于<ui:param>未缓存变量,因此Bean.getRandomVideo()被调用两次,最糟糕的是.text.link来自不同的视频。我已经尝试过<c:set<f:param了。他们都没有设置变量,可能是因为我使用facelets(JSF2)。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Getters应该是真正的getter,不包含任何逻辑。所以:

  • 制作您的bean @RequestScoped
  • 初始化randomVideo
  • 中的@PostConstruct字段
  • 让getter只检索bean的randomVideo字段。