<ui:param和缓存

mis*_*ist 6 jstl facelets jsf-2

我有以下的事情:

<ui:param name="randomVideo" value="#{bean.randomVideo}" />
<a href="#{randomVideo.link}">#{randomVideo.text}</a&></pre>
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

Boz*_*zho 2

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

  • 做你的bean @RequestScoped
  • 初始化该randomVideo字段@PostConstruct
  • 让 getter 只检索randomVideobean 的字段。