在一个变量中缓存基本URL#{request.contextPath}以在页面上多次使用&包含页面

时间:2012-08-27 05:39:35

标签: jsf jsf-2

我需要将#{request.contextPath}缓存到变量中,以便在页面中多次使用。以前在我使用Mojarra 2.1.3时,我可以使用ui:param来实现此目的。这将缓存整个页面的表达式值&amp;跨当前页面中包含的所有页面。但it doesn't work with Myfaces(see issue)原因<ui:param>应该是<ui:include><ui:define>的直接孩子。

我被建议使用c:set,但我想尽量避免使用JSTL标记。我的用例推荐什么?

1 个答案:

答案 0 :(得分:1)

只需使用<c:set>即可。在这种特殊情况下,它不会造成任何伤害。


  

但我想尽量避免使用JSTL标记。

看起来你没有理解为什么以及何时应该(不)使用JSTL标签,从而过度概括JSF中所有JSTL标签的使用为“永远”。你不应该这么想。仔细阅读这个答案,以获得开明:JSTL in JSF2 Facelets... makes sense?