1

1つのハイパーリンクを作成し、それをクリックすると、ページを別のJSPにリダイレクトしていますが、渡した正しいURLが取得されないため、URLに別の文字列が追加され、ページはリダイレクトされません。

誰かがそれについて何か考えを持ってください、私を助けてください

  <td align='<%=lstrColAlign%>' class="<%=tdclass%> Label2"  
   style="<%=rb.getDataStyleString(rvo,data)%>">
   <a  href="#" onclick="JavaScript:window.open( '<%=columnUrl%>','newwindow','top=0, left=0,   
             scrollbars=yes,status=1,resizable=yes,height= (screen.availHeight - 10),
             width= (screen.availWidth-5)')"> <%=rb.getDataValue(data)%></a>
   </font></td>

どこに行けばいいの?

... Project1-context-root / servlet / Reports.controller.ReportController?ActionFlag =get............。

しかし、その代わりに私は得ています

... Project1-context-root/servlet/servlet/Reports.controller.ReportController?ActionFlag=get....。

したがって、余分な単語servlet/が追加されます

4

2 に答える 2

1

先頭にスラッシュがない相対URLは、現在のコンテキストを基準にしています。つまり、ブラウザのアドレスバーの現在のURLがでありhttp://example.com/context/index.jsp、現在のコンテキストから開かれる相対URLがcontext/page.jspである場合、最終的なURLはになりますhttp://example.com/context/context/page.jsp

これを修正する方法はいくつかあります。

  1. 相対URLの同じコンテキストを削除して、末尾が。になるようにしますpage.jsp
  2. ドメインルートを基準にして、先頭にスラッシュを追加します/context/page.jsp
  3. 代わりに絶対URLにします:http://example.com/context/page.jsp
  4. 相対URLのコンテキストを1ステップ戻します../context/page.jsp

これは、ディスクファイルシステムパスの場合とまったく同じように機能します。

于 2010-05-04T11:43:06.683 に答える
0

<%=columnUrl>変数が取得されているようです

servlet/Reports.controller.ReportController?ActionFlag=get.....

そして、呼び出し元のJSPから、コンテキストパスが自動的に追加されます。

最初にcolumnUrl変数をデバッグし、その変数値を../context/page.jspに更新して、相対値に変更します。

于 2010-05-04T11:31:14.497 に答える