2016-07-16 9 views
0

Ich habe eine ThymeleafConfig meiner Spring Boot-Anwendung hinzugefügt, so dass ich den Vorlagenmodus zu HTML5 konfigurieren konnte. Vor dem Hinzufügen konnte die Spring Boot-Anwendung die Vorlage "home.html" finden. Nachdem nun das Hinzufügen ich ein:Verwirrt über ThymeleafConfig im Frühjahr Boot

org.thymeleaf.exceptions.TemplateInputException: Error resolving template "home", template might not exist or might not be accessible by any of the configured Template Resolvers 

Meine Verzeichnisstruktur ist ein Standard-Ressourcen/templates/home.html

Hier mein ThmyeleafConfig ist:

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.support.ResourceBundleMessageSource; 
import org.thymeleaf.templateresolver.ServletContextTemplateResolver; 

@Configuration 
public class ThymeleafConfig { 

    @Bean 
    public ServletContextTemplateResolver defaultTemplateResolver() { 
     ServletContextTemplateResolver resolver = new ServletContextTemplateResolver(); 
     resolver.setPrefix("/templates/"); 
     resolver.setSuffix(".html"); 
     resolver.setTemplateMode("LEGACYHTML5"); 
     resolver.setCacheable(false); 
     return resolver; 
    } 

    @Bean 
    public ResourceBundleMessageSource messageSource() { 
     ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
     messageSource.setBasename("messages"); 
     messageSource.setDefaultEncoding("UTF-8"); 

     return messageSource; 
    } 
} 

Ich bin ziemlich sicher, ich bin den Beispielen gefolgt, aber offensichtlich habe ich etwas übersehen. Irgendwelche Vorschläge, wie ich das beheben kann, damit es die Vorlagen richtig findet?

+0

Warum sollten Sie das hinzufügen? Thyme Blatt ist bereits für Sie von Spring Boot konfiguriert? –

+0

Es ist, aber das Problem war, dass angularjs Direktiven wie Parsing fehlgeschlagen. Der Vorschlag, den ich gesehen habe, war, den Modus auf LEGACYHTML5 oder HTML5 anstatt auf den Standardwert zu setzen. Ich werde versuchen, was Andy unten gezeigt hat, aber ich bin offen für andere Lösungen und würde gerne wissen, was genau ich hier falsch mache. –

Antwort

2

Sie müssen keine eigenen Bohnen deklarieren. Sie können den Modus mit application.properties konfigurieren:

spring.thymeleaf.mode=LEGACYHTML5