我正在创建一个 SpringBoot Web 应用程序,同时渲染带有一些静态实体(如图像)的 .jsp 页面。 我尝试将静态文件添加到从 META_INF 到 static 的每个文件夹中,但在控制台上收到 404 错误,并且不显示图像。
<小时/> <小时/>HTML代码如下:
<img src="image/nia-logo.png">
Spring Boot Application类如下:
@SpringBootApplication
@PropertySource("classpath:application.properties")
@EnableWebMvc
public class FeedbackApplication implements WebMvcConfigurer{
@Autowired
private Environment environment;
public static void main(String[] args) throws Exception {
SpringApplication.run(FeedbackApplication.class, args);
}
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
viewResolver.setViewClass(JstlView.class);
return viewResolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/resources/**")) {
registry.addResourceHandler("/resources/**").addResourceLocations(
"classpath:/resources/static/");
}
}
}
<小时/>请帮助我并指出我在哪里犯了错误。
最佳答案
在 addResourceHandlers 配置中,它定义任何以 /resources/**
开头的调用被视为资源文件。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/resources/**")) {
registry.addResourceHandler("/resources/**").addResourceLocations(
"classpath:/static/");
}
}
所以你需要做的就是将 src url 更改为 <img src="/resources/image/nia-logo.png">
希望这有帮助!快乐编码:)
关于java - 静态内容未从 Spring Boot 应用程序加载到 JSP 页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52550010/