Spring-mvc:提供已经静态包含在另一个加载的jsp中的JSP

时间:2011-03-08 22:57:18

标签: java jsp spring-mvc jspinclude

这可能吗?我正在加载一个静态包含jsp片段的JSP。然后我使用ajax重新加载jsp片段,但我得到了

Caused by: org.apache.jasper.JasperException: Unable to load class for JSP
        at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:630)
        at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:149)
        ... 143 more
Caused by: java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.jsp.customers.biddingRoomSearchContainer_jsp
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
        at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
        at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:628)
        ... 144 more
编辑:我正在使用处理程序注释映射和使用JstlView的InternalResourceViewResolver ...有点JSP视图层的标准设置...如果处理程序返回已经静态包含在不同JSP中的JSP视图名,我得到这个错误

1 个答案:

答案 0 :(得分:0)

决定将我的评论转为答案......

为了通过Ajax加载JSP片段,您需要将URI路径与JSP文件相关联。假设您不需要通过控制器(问题中没有提到),那么您可以使用Spring 3.0中的mvc:view-controller功能。

在您的情况下,它可能看起来像:

<mvc:view-controller path="/foo/biddingRoomSearchContainer" view-name="/WEB-INF/jsp/biddingRoomSearchContainer.jsp"/>