gpt4 book ai didi

java - 静态内容未从 Spring Boot 应用程序加载到 JSP 页面中

转载 作者:行者123 更新时间:2023-12-02 01:54:12 25 4
gpt4 key购买 nike

我正在创建一个 SpringBoot Web 应用程序,同时渲染带有一些静态实体(如图像)的 .jsp 页面。我尝试将静态文件添加到从 META_INFstatic 的每个文件夹中,但在控制台上收到 404 错误,并且不显示图像。

<小时/>

Here is my project structure

<小时/>

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com