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 に答える