java - c :url tag includes jsession id query string

标签 java jsp jstl contextpath

在 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/

相关文章:

java - “陷害”tomcat6 丢失 session

java - 设置服务器时区以从日期中添加/减去时间

java - Spring 的 @EntityListeners 在使用 @Postpersist 时抛出异常

java - 适用于 Android 的 YouTube 数据 API V3 问题

java - 如何将 Stringtokenizer 更改为字符串

java - 什么时候需要导入 java.awt.*?如果我想导入 javax.swing.* 是否还需要导入 java.awt.*?

JSP 以编程方式呈现

jsp - 运行存储在数据库中的 JSTL 代码

jsp - JSTL中如何计算总和

java - 使用 JPQL 获取字符串列表