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 的上下文向后退一步:../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 回答