我使用 JSTL c:url
标签在应用程序中定义我的 URL,例如:
<c:url value"/home" />
但问题是它将应用程序上下文附加到 url 中,因此链接变为 http://appName.come/appName/page而它应该是 http://appName.come/page .
链接必须带有斜杠,因为它不是相对的。我想阻止添加应用程序上下文或类似的东西,有什么想法吗?
最佳答案
这就是 c:url
的唯一目的:每当客户端不支持 cookie 时,添加上下文根和必要时的 jsessionid。它还支持对查询参数进行 URL 编码 c:param
。如果你不想这样,那就不要使用 c:url
但使用纯 HTML <a>
元素代替。
<a href="/home">home</a>
更新:根据评论,您似乎希望在 URL 中包含 jsessionid (您是否意识到 session 默认情况下不在上下文之间共享,并且您必须相应地配置 serletcontainer ?)。在这种情况下,请手动设置 context
属性。
<c:url context="/" value="/home" />
关于java - 如何从 url 中隐藏应用程序上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979483/