在JSF 2.0中生成绝对链接是一种更好的方法吗?现在,我正在以{丑陋的方式使用<h:outputLink/>
,如下所示#{facesContext.externalContext.requestContextPath}
。我不想使用JSTL和<c:url />
<h:outputLink value="#{facesContext.externalContext.requestContextPath}/pages/home.jsf">Home</h:outputLink>
答案 0 :(得分:11)
您可以将#{facesContext.externalContext.requestContextPath}
缩短为#{request.contextPath}
。你甚至可以摆脱它使用HTML <base>
tag instead。
在这种特殊情况下,最好使用<h:link>
代替。它可以采用outcome
属性中的上下文相关导航案例路径:
<h:link value="Home" outcome="pages/home" />
JSF将在生成FacesServlet
元素时注意添加正确的上下文路径和<a>
映射:
<a href="/contextname/pages/home.jsf">Home</a>