【发布时间】:2016-10-01 14:12:09
【问题描述】:
我正在尝试使用 Mvc 和 AngularJs 创建一个 Spring Boot。我修改了我的应用程序的 View Resolver,以便我可以将我的应用程序指向我的静态 html 文件的“WEB-INF/pages/”文件夹。现在在 html 文件中,我使用 webjars 依赖项声明了 AngularJs 库的源代码
<script src="webjars/angularjs/1.5.5/angular.min.js"></script>
我知道为了完成这项工作,我必须在应用程序的 ResourceHandlerRegistry 上声明 webjars libray 的类路径,所以在我的配置文件中我只添加了这行代码
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
添加此行后,我的代码以某种方式工作,但让我好奇的是我的 html 文件中的这一行
<script src="resources/js/angular/app.js"></script>
我注意到在 Spring MVC 应用程序上,为了让 Spring 检测 webapp 资源文件夹下的 Javascript 文件,我们必须像这样在 ResourceHandlerRegistry 上声明该文件夹
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
但我没有在 Spring Boot 的 ResourceHandlerRegistry 上声明我的 webapp 的资源文件夹,但应用程序仍然可以看到我的 app.js 文件,并且我的 AngularJs 代码仍然有效。这是我的应用程序的文件结构
src
|--main
|--java
|--resources
|--webapp
|--resources
|--js
|--angular
|--app.js
|--WEB-INF
|--index.html
【问题讨论】:
标签: javascript java spring spring-mvc spring-boot