【问题标题】:How do I load JSP with Jquery.load() function when the JSP is under WEB-INF folder?当 JSP 位于 WEB-INF 文件夹下时,如何使用 Jquery.load() 函数加载 JSP?
【发布时间】:2013-02-27 12:00:49
【问题描述】:

这是我项目中的目录结构

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)?

【问题讨论】:

  • 我想。如果您可以在浏览器中运行您的 jsp 页面,那么您可以使用 jquery 加载相同的 url。
  • 当你把jsp放在WEB-INF文件夹下时,它不能通过url访问

标签: jquery jsp


【解决方案1】:

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

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

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

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

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

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

考虑到这一点,URL 应该是 $("#result").load("/WEB-INF/home.jsp"),但由于除了 Servlet 之外的任何地方都无法访问整个 WEB-INF 文件夹(然后只能分派给它们),因此您无法访问主页.jsp 来自 jquery。

所以要为您的问题提供解决方案:

要么

  • 把home.jsp放到WEB-INF文件夹下,
  • 创建一个向其分派的 Servlet,
  • 试试 jsp:include

【讨论】:

  • 在 jquery 的 .load() 函数中不起作用。
【解决方案2】:
$("#result").load("/home.jsp");

【讨论】:

  • 路径名是什么?
猜你喜欢
  • 2012-12-30
  • 2018-12-12
  • 2022-01-22
  • 2015-01-23
  • 2014-08-17
  • 2014-10-10
  • 2014-05-20
  • 2014-11-12
  • 2013-11-19
相关资源
最近更新 更多