c:url标记包含会话ID查询字符串

时间:2013-02-04 00:38:42

标签: java jsp jstl contextpath

在jsp页面上获取context-root的最佳方法是什么。如果我将我的css / image硬编码为“/myapp/images/foo.gif”,那么如果更改了上下文根/应用程序名称,它将是一个断开的链接。使用相对路径并不总是可取的,因为上下文根可以是多路径的(例如:/ mysite / myapp)

到目前为止,我已尝试使用<c:url var="root" value="/"/>工作正常(${root}将提供上下文根/myapp/),但是如果这是用户第一次访问该网站(或者如果在浏览器上清理了cookie),分配给${root}的值变为/myapp/;jsessionid=019762g1hk3781kh98uihilho,它会破坏images / css引用。还有比这更好的方法吗?

1 个答案:

答案 0 :(得分:3)

  

到目前为止,我已尝试使用<c:url var="root" value="/"/>工作正常($ {root}将提供context-root / myapp /)

这不是正确的方法。 <c:url>应该应用于每个网址单独

你最好使用

<c:set var="root" value="${pageContext.request.contextPath}" />

另见: