2015-07-03 5 views
0

Я создаю приложение Spring Boot с Thymeleaf. Мои шаблоны (представления) и статические папки находятся в разделе src/main/resources/static и src/main/resources/templates. Когда я запускаю приложение с помощью основного метода (используя eclipse), все в порядке. Тем не менее, я выполнил инструкции до create a war file, и когда я развожу его на Tomcat 7 - статический контент отсутствует, отображаются только шаблоны html Thymeleaf.Статический контент Spring Boot & Thymeleaf не подан в военном файле

Я искал все связанные потоки на SO и пробовал множество вариаций - используя @EnableWebMVC, удалив всю мою конфигурацию, изменив имя статической папки на «public» и т. Д. Ничто не работает для меня, и это выглядит как проблема с упаковкой.

Мой класс конфигурации:

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

@Autowired 
private ThymeleafProperties properties; 

/* Disable Thymeleaf auto-caching */ 
@Bean 
public ITemplateResolver defaultTemplateResolver() { 

    TemplateResolver resolver = new TemplateResolver(); 
    resolver.setResourceResolver(thymeleafResourceResolver()); 
    resolver.setPrefix(this.properties.getPrefix()); 
    resolver.setSuffix(this.properties.getSuffix()); 
    resolver.setTemplateMode(this.properties.getMode()); 
    resolver.setCharacterEncoding(this.properties.getEncoding()); 
    resolver.setCacheable(false); 
    return resolver; 
} 

@Bean 
public SpringResourceResourceResolver thymeleafResourceResolver() { 

    return new SpringResourceResourceResolver(); 
} 

} 

класса с основным методом:

@SpringBootApplication 
public class RestApplication extends SpringBootServletInitializer { 

@Override 
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 

    return application.sources(RestApplication.class); 
} 

public static void main(String[] args) { 

    SpringApplication.run(RestApplication.class, args); 
} 

} 

ответ

1

Наконец нашел проблему.

Мои метки и метки в Themeleaf начинаются с косой черты лица. например, «/css/style.css» вместо «css/style.css».

Надеюсь, это поможет всем, кто сталкивается с этой проблемой.

+0

Почему вы определяете отдельный бит-резольвер thymeleaf? Использование Spring Boot уже создано. И если вы используете тимелеаф, почему бы вам не задать статический путь, подобный этому: src = "@ {css/style.css}". Это будет относиться к пути «ресурсы» –

Смежные вопросы