10

我想检索 web 应用程序的根路径,然后我想将链接附加到根路径。我试过 request.context 但它返回“http://localhost:8080/webapp/web-inf”。

例如我的根文件夹路径是

path  =  http://localhost:8080/webapp/

我想将剩余的链接附加到这个路径

helpPath= /help/page/help.htm


<a  href="${path} + ${helpPath}" target="_blank">name</a>

任何帮助或指针真的很感激。

4

5 回答 5

18
<%=request.getContextPath()%> 

将为您提供应用程序的根路径,因此在您的情况下,它将是http://localhost:8080/webapp

根据评论:

<%=request.getContextPath()%>/help/page/help.htm 

会给你你的页面

于 2012-04-26T04:53:14.620 回答
14

您可以使用 pageContext.request.contextPath

${pageContext.request.contextPath}

所以你可以使用,

<a  href="${pageContext.request.contextPath}${helpPath}" target="_blank">name</a>

但更好的方法是将基本 href 设置为此路径,然后按原样使用该路径。

<head>

        <base href="${pageContext.request.contextPath}">

    </head>
<body>
<a  href="${helpPath}" target="_blank">name</a>

</body>
于 2012-04-26T04:56:44.757 回答
1

我相信你可以使用 ServletContext 的getRealPath()方法。

于 2012-04-26T04:51:37.887 回答
1

你也可以使用

<c:url>

jstl 标记。它将为您添加上下文路径。

于 2012-04-26T05:04:23.907 回答
0

<%=request.getContextPath()%>会给/webapp

所以你的链接应该是这样的:

<a  href="<%=request.getContextPath()%>${helpPath}" target="_blank">name</a>
于 2012-04-26T05:02:54.287 回答