在 jsp 页面上获取上下文根的最佳方法是什么。如果我将我的 css/图像硬编码为“/myapp/images/foo.gif”,那么如果更改了上下文根/应用程序名称,它将成为断开的链接。使用相对路径并不总是可取的,因为上下文根可以是多路径(例如:/mysite/myapp)
到目前为止,我已经尝试使用 <c:url var="root" value="/"/>
这工作正常( ${root}
将提供上下文根 /myapp/
),但是如果这是用户第一次访问该站点(或者如果在浏览器上清除了 cookie),则分配给 ${root}
的值变成了类似 /myapp/;jsessionid=019762g1hk3781kh98uihilho
的东西它破坏了图像/CSS 引用。还有比这更好的方法吗?
最佳答案
So far I've tried using
<c:url var="root" value="/"/>
which works alright (${root} will give the context-root /myapp/)
这不是正确的方法。 <c:url>
应该应用于每个 URL 单独。
你最好使用
<c:set var="root" value="${pageContext.request.contextPath}" />
另见:
关于java - c :url tag includes jsession id query string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679033/