【问题标题】:Tiles and ${pageContext.request.requestURL}瓷砖和 ${pageContext.request.requestURL}
【发布时间】:2012-11-26 13:08:13
【问题描述】:

通常,要在 JSP 中获取请求 URL,我会使用

${pageContext.request.requestURL}

但是在我正在使用的项目中(因为我猜我们使用瓷砖)如果我运行上面的内容,我会得到类似

WEB-INF/pathTo/pageName.jsp

即使请求 URL 是另一个 URL,并且这只是使用图块包含的 JSP 的路径。

在这种情况下如何使用 JSP EL 获取请求 URL?

【问题讨论】:

    标签: jsp el tiles


    【解决方案1】:

    Tiles 已经重写/转发了请求,所以当你的 jsp 收到请求时,它已经不是原始请求了。

    你可以做两件事..

    1. 在您的控制器中获取原始 url 并将其作为属性 request.setAttribute("origRequestURL", request.getRequestURL()) 然后使用 ${origRequestURL}

    2. 看看这个属性是否保持了转发前的原样: <% request.getAttribute("javax.servlet.forward.request_uri"); %>${requestScope['javax.servlet.forward.request_uri']}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多