当JSP在WEB-INF文件夹下时,如何使用Jquery.load()函数加载JSP?

这是我项目中的目录结构

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

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

$( “#结果”)负载( “针对home.jsp”)。

但它没有用。 我相信,我在引用home.jsp页面的方式在load方法中是不正确的。 如何调用驻留在WEB-INF / jsp文件夹下的home.jsp(来自dashboard.jsp)?

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

  

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

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文件夹无法从除Servlets之外的任何地方访问(然后只能发送对他们而言,你无法从jquery访问home.jsp。

那么为您的问题提供解决方案:

  • 把home.jsp放出WEB-INF文件夹,
  • 创建一个分派给它的Servlet,
  • 试试jsp:include
 $("#result").load("/home.jsp");