abcbuzhiming
2013-01-22 00:17
采纳率: 0%
浏览 326
已采纳

为什么web应用不在tomcat根目录下时,iframe src链接的地址就不工作

一个基于struts1.x的应用,web页面有如下代码

[code="html"]



[/code]
即有一个iframe链接到一个action。
action的代码如下
[code="java"]
public ActionForward include(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return new ActionForward("/admin/main.jsp");
}
[/code]
现在有如下问题,当把这个应用部署在tomcat6.x的根目录下,即访问地址是
http://localhost/index.jsp
的时候毫无问题,action执行了正常的跳转。src链接到了main.jsp

但是如果把该应用发布到一个文件夹下
http://localhost/test/index.jsp
就无法执行了,iframe里嵌入了tomcat反馈的400错误。
而且经过我测试,此时的include方法没有得到执行,请问这是怎么回事呢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • h248980496 2013-01-22 14:20
    已采纳

    "/"就是web应用的根目录,也就是http://[ip]:[port]/
    用相对目录(不使用"/"或者"../")或者指定项目名才能得到
    http://[ip]:[port]/[project_name]/

    你可以把斜杠去掉试试看,或者 前加一个
    testPath
    这样鼠标移上去可以看到链接的地址,从而判断相对路径的层级

    点赞 打赏 评论
  • microPAO 2013-01-22 08:49

    return new ActionForward("/admin/main.jsp");

    应该跟这个有关系,试试改为
    return new ActionForward("admin/main.jsp");

    点赞 打赏 评论
  • binggouxsm 2013-01-22 12:41

    除了楼上说的要改,iframe的src也得改吧

    点赞 打赏 评论

相关推荐 更多相似问题