我需要将#{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标记。我的用例推荐什么?
答案 0 :(得分:1)
只需使用<c:set>
即可。在这种特殊情况下,它不会造成任何伤害。
但我想尽量避免使用JSTL标记。
看起来你没有理解为什么以及何时应该(不)使用JSTL标签,从而过度概括JSF中所有JSTL标签的使用为“永远”。你不应该这么想。仔细阅读这个答案,以获得开明:JSTL in JSF2 Facelets... makes sense?