【问题标题】:contextpath is appended附加了上下文路径
【发布时间】:2011-02-15 09:12:09
【问题描述】:

我创建了一个超链接,通过单击该超链接,我将页面重定向到另一个 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/被附加了

【问题讨论】:

  • 你能把代码sn-p放在这里吗?这样这里的人就可以理解你的问题是什么?
  • 请发布一些示例代码,说明您现在正在做什么以及您的 URL 有什么问题,以便人们了解您的问题并回复您....

标签: java jsp contextpath


【解决方案1】:

您的 变量似乎越来越

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

并且从您的调用 JSP 中,它会自动附加上下文路径..

首先调试您的 columnUrl 变量,然后通过将其更新为 ../context/page.jsp 将该变量值更改为相对值。

【讨论】:

    【解决方案2】:

    没有前导斜杠的相对 URL 是相对于当前上下文的。 IE。如果浏览器地址栏中的当前 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

    它的工作方式与磁盘文件系统路径相同。

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 2013-07-18
      • 1970-01-01
      • 2014-12-19
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      • 1970-01-01
      相关资源
      最近更新 更多