【发布时间】:2019-05-14 23:27:35
【问题描述】:
我一直在开发一个演示应用程序,以了解 Spring Boot 的 FreeMarker 模板。我喜欢 FreeMarker 模板,但我无法在网页上显示图像。就图像和图像目录的位置而言,我已经尝试了所有我能想到的方法,但没有任何效果。我希望有人能指出我的问题,因为如果我不能解决这个问题,我就不能使用 FreeMarker。
我的项目目录如下:
我使用的是 Spring Boot 2.1.1。
我使用 Bootstrap 进行页面格式化。这是引用图像的 Bootstrap/HTML:
<div class="row">
<div class="col-md-12">
<img src="/img/snowy_egret_thumb.jpg" />
</div>
</div> <!-- row -->
我认为也许我在 FreeMarker 配置中遗漏了一些东西,但我没有找到任何东西。我的 FreeMarker 配置类如下所示:
@Configuration
@EnableWebMvc
@ComponentScan({"cognitodemo.freemarker"})
public class AppConfig implements WebMvcConfigurer,
ApplicationContextAware {
private ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
@Bean
@Description("FreeMarker View Resolver")
public FreeMarkerViewResolver viewResolver(){
FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
viewResolver.setCache(false);
viewResolver.setPrefix("");
viewResolver.setSuffix(".html");
return viewResolver;
}
@Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer freeMarkerConfigurer = new
FreeMarkerConfigurer();
freeMarkerConfigurer.setTemplateLoaderPath("/WEB-INF/views/");
return freeMarkerConfigurer;
}
}
当我使用 Spring Boot 运行应用程序时,我收到以下警告:
WARN[0;39m [35m13617[0;39m [2m---[0;39m [2m[restartedMain][0;39m [36mo.sbafFreeMarkerAutoConfiguration [0;39m [2m:[0;39m 找不到模板位置:[classpath:/templates/](请添加一些模板,检查您的 FreeMarker 配置,或设置 spring.freemarker.checkTemplateLocation=false)
但是,应用程序页面可以正常工作。只是图片加载不出来。
任何帮助将不胜感激。非常感谢。
【问题讨论】:
标签: java spring-boot freemarker