jsp - 如何在jsp中创建绝对url?

标签 jsp url jstl

如果有 <c:url value="/article"/>在 jsp 中,我实际上希望它产生 http://mysite.com/context/article .有没有简单的方法来实现这一点?

最佳答案

没有简单的方法。对其进行硬编码或输出以下内容:

${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, '')}${pageContext.request.contextPath}
很麻烦,但是当您想正确考虑 URL 的协议(protocol)和端口部分时,没有更短/更好的方法了。您最多可以分配 ${pageContext.request}${r} .
<c:set var="r" value="${pageContext.request}" />
这样你就可以结束了
${fn:replace(r.requestURL, r.requestURI, '')}${r.contextPath}

也就是说,我只是看不到这个要求是如何有用/有值(value)的。我总是将我的 webapp 特定链接编码为相对于当前上下文或 HTML <base>标签。否则,当您的域、端口和/甚至上下文发生变化时,您将不得不进行大量维护。为什么有这个要求?
也可以看看:
  • Is it recommended to use the HTML <base> tag? (其实是敏感话题)
  • 关于jsp - 如何在jsp中创建绝对url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3131063/

    相关文章:

    javascript - 我是否错误地将 Ajax 请求映射到我的 Controller 类?

    java - 将引用的变量插入RequestMapping

    javascript - 向 URL 添加参数,将数组放入查询字符串

    spring-mvc - 使用 JSTL 或 Spring MVC 标记在当前页面上切换语言

    mysql - 使用 JSTL (JSP) 进行登录验证但出现错误 : "Unterminated &lt;sql:setDataSource tag"

    java - 如何使用 JSTL 和 spring 3 从 JSP 获取列表元素

    javascript - 访问在 AJAX 调用中的 jsp 中定义的 JSTL 变量

    javascript - javascript中用逗号分隔返回变量并在JSP中显示

    java - 如何通过相同的 Controller 方法从我的 Spring MVC 应用程序的每个页面中返回一个变量?

    ios - 如何在使用 swift 单击按钮时解析 youtubeURL 以从 parse.com 加载视频