Ada*_*dam 5 jsf el contextpath
我正在使用以下内容在我们的应用程序中获取帮助文档.我的问题是,在<h:graphicImage>正确评估上下文路径时,将其评估为h:outputLink空.我一直在使用这两种尝试$,并#在h:outputLink因为我知道他们有不同的考核时间.
两个EL表达式的评估方式有何不同?
<h:outputLink value="${pageContext.servletContext.contextPath}/services/help.pdf">
<h:graphicImage
url="${pageContext.servletContext.contextPath}/images/help.png"
alt="Online Help"/>
</h:outputLink>
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 15
没有出现上下文路径<h:outputLink>表明您实际上使用的是Facelets而不是JSP.在${pageContext}不Facelets中都存在.它特定于遗留JSP.两个表达式刚刚评估为空字符串.因此它们之间没有任何区别.
<h:graphicImage>完全预期上下文路径出现.这是组件本身自动包含的.事实上,整个表达是多余的,以下应该是好的.
<h:graphicImage url="/images/help.png" alt="Online Help"/>
Run Code Online (Sandbox Code Playgroud)
的<h:outputLink>的确不会自动包括上下文路径.只有这样<h:link>做.你需要自己包括它.在Facelets中,您可以使用#{request}获得一个手柄,HttpServletRequest而手柄也具有一个getContextPath()(并且<h:graphicImage>在封面下使用).
<h:outputLink value="#{request.contextPath}/services/help.pdf">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9792 次 |
| 最近记录: |