【问题标题】:c:url tag includes jsession id query stringc:url 标签包含 jsession id 查询字符串
【发布时间】:2013-01-18 16:44:36
【问题描述】:

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

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

【问题讨论】:

  • 注意:这不是一个查询字符串,这是一个 URI 路径片段。查询字符串是 URL 中? 之后的部分。

标签: java jsp jstl contextpath


【解决方案1】:

到目前为止,我已经尝试过使用<c:url var="root" value="/"/>,它可以正常工作(${root} 将提供上下文根目录 /myapp/)

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

你最好用

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

另见:

【讨论】:

    猜你喜欢
    • 2011-05-14
    • 2011-02-05
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多