2

这是我在项目中的目录结构

WebContent
 --resources
 --WEB-INF
   --classes
   --jsp
     dashboard.jsp
     home.jsp
   --lib

我想使用 Jquery 方法在 dashboard.jsp 中加载 home.jsp

$("#result").load("home.jsp");

但它不起作用。我相信,我在加载方法中引用 home.jsp 页面的方式不正确。如何调用位于 WEB-INF/jsp 文件夹下的 home.jsp(来自dashboard.jsp)?

4

2 回答 2

4

如评论中所述,无法通过 url 访问 WEB-INF 文件夹中的任何文件。但是你也许可以通过 jsp:include 访问它

<jsp:include page="WEB-INF/home.jsp" />

(我只是不知道这是否有效,但如果适用,值得一试)

url 总是相对于“组合”的 URL(因为缺少更好的词)。因此,如果您通过 servlet 访问 .jsp 文件:

request.getRequestDispatcher("/WEB-INF/dashboard.jsp").forward(request, response);

您引用表单的 url 实际上是您的 servlet 的 URL。

考虑到这一点,URL将是 $("#result").load("/WEB-INF/home.jsp"),但由于整个 WEB-INF 文件夹无法从任何地方访问,除了 Servlet(然后只能分派给它们),您无法从 jquery 访问 home.jsp。

因此,要为您的问题提供解决方案:

任何一个

  • 将 home.jsp 从 WEB-INF 文件夹中取出,
  • 创建一个分派给它的 Servlet,
  • 试试 jsp:include
于 2013-02-27T12:29:15.000 回答
2
$("#result").load("/home.jsp");
于 2013-02-27T12:03:11.400 回答