在练习springMVC的项目中使用jquery,放在了src\main\resources\assets\js中,Java配置类重写addResourceHandlers方法如下:
@Configuration
@ComponentScan("com.wqy.springmvc.controllers")
@MapperScan("com.wqy.springmvc.mappers")
public class MyConfig extends WebMvcConfigurationSupport {
......
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/classes/views/");
viewResolver.setSuffix(".jsp");
// viewResolver.setViewClass(JstlView.class);
return viewResolver;
}
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets");
}
......
}
在jsp页面中引用该js
<script src="/assets/js/jquery-3.3.1.min.js"></script>
这里要注意,引用js文件的script标签一定要用<script ...></script>,不能使用<script ... />,否则无法找到文件。
试了很久,发现addResourceLocations("classpath:/assets");需要在assets后面加上一个'/'符号。
registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");