0

私は多くのソリューションを試しましたが、うまくいきません。私はIntellij 2016.1を使用しています。 アプリケーションでテンプレートを強制的に解決できません。Thymeleaf org.thymeleaf.exceptions.TemplateInputException:テンプレートを解決するエラー

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/login/login", template might not exist or might not be accessible by any of the configured Template Resolvers 

設定

@Configuration 
@ComponentScan(basePackages = "com.unibooker") 
@EnableWebMvc 
public class Config extends WebMvcConfigurerAdapter{ 

@Bean 
public TemplateResolver templateResolver() { 
    ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(); 
    templateResolver.setPrefix("classpath:/WEB-INF/templates/"); 
    templateResolver.setSuffix(".html"); 
    templateResolver.setTemplateMode("HTML5"); 

    return templateResolver; 
} 

@Bean(name = "templateEngine") 
public SpringTemplateEngine getTemplateEngine() 
{ 
    SpringTemplateEngine templateEngine = new SpringTemplateEngine(); 
    templateEngine.setTemplateResolver(this.templateResolver()); 
    templateEngine.setMessageSource(this.messageSource()); 
    templateEngine.addDialect(new LayoutDialect()); 

    return templateEngine; 
} 

@Bean 
public ViewResolver setupViewResolver() 
{ 
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); 
    viewResolver.setTemplateEngine(this.getTemplateEngine()); 
    viewResolver.setOrder(1); 

    return viewResolver; 
} 

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

    return messageSource; 
} 

@Bean 
public LocaleResolver localeResolver() 
{ 
    CookieLocaleResolver resolver = new CookieLocaleResolver(); 
    resolver.setDefaultLocale(new Locale("pl")); 
    resolver.setCookieName("locale"); 
    resolver.setCookieMaxAge(86400); 

    return resolver; 
} 

@Override 
public void addInterceptors(InterceptorRegistry registry) 
{ 
    LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); 
    interceptor.setParamName("locale"); 
    registry.addInterceptor(interceptor); 
} 

@Override 
public void addResourceHandlers(final ResourceHandlerRegistry registry) 
{ 
    registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
} 
} 

Project structure - IMAGE

私はリソースにテンプレートを移動していないが、まだ何もしようとしています。助けてください。私はこれを修正する方法はこれ以上考えていない...それは早く働いて停止した。

+0

は 'で' login'というフォルダがありテンプレート? –

答えて

0

Thymeleaf Resolverは、login.htmlページについてtemplates/login/の下に表示されます。プロジェクトの構造と構成に基づいて、テンプレート内にloginというフォルダが正しくありますが、ディレクトリ内にlogin.htmlがないため、エラーの理由が表示されます。

ログインフォルダ内にlogin.htmlを作成するか、すでにあるindex.htmlページを使用してください。あなたの春のコントローラでは、適切なページを返す必要があります。例えば

あなたは、コントローラのメソッドが返す必要がありますログインページを表示する必要があると仮定すると、

return "login/login" // to display login.html under `templates/login` 

または

return "login/index" // to display index.html under `templates/login` 
関連する問題