我正在尝试在基于AngularJS和SpringMVC的Web应用程序中使用ng-include。
这是WEB-INF目录的树:
/WEB-INF
/views
/fragmentPages
footer.jsp
index.jsp
在dispatcherServelet.xml中,我添加了映射到/ fragmentPages资源:
<mvc:resources mapping="/fragment/**" location="/WEB-INF/views/fragmentPages/" />
进入index.jsp我这样做了:
<body ng-app="myApp">
<div ng-controller="myCtrl">
...
</div>
<div ng-include="${servletContextPath}+'fragment/footer.jsp'"></div>
</body>
但是在浏览器中查看源代码我看到了:
<div ng-include="/Project+'fragment/footer.jsp'"></div>
并且包含不起作用。
为什么?
更新
我的树现在:
/resources
footer.jsp
/WEB-INF
/views
/fragmentPages
footer.jsp
index.jsp
在我的调度员中完成了:
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:resources mapping="/WEB-INF/**" location="/WEB-INF/" />
如果我使用的话,在我的index.jsp中:
<div ng-include="'${servletContextPath}/resources/footer.jsp'"></div>
它有效!
但是,如果我使用:
<div ng-include="'${servletContextPath}/WEB-INF/views/fragmentPages/footer.jsp'"></div>
不起作用..怎么可能?