鉱山のマッピングに問題があります。次の構成を持つテンプレート リゾルバーがあります。
@Bean(name="templateResolver")
public ServletContextTemplateResolver getServletContextTemplateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/views/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setCacheable(false);
return templateResolver;
}
@Bean(name="templateEngine")
public SpringTemplateEngine getTemplateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(getServletContextTemplateResolver());
return templateEngine;
}
@Bean(name="viewResolver")
public ThymeleafViewResolver getThymeleafViewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(getTemplateEngine());
viewResolver.setOrder(1);
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
そして、私は私のプロジェクトの構造を持っています:
-WEB-INF
--views
---home.html
---registration.html
私はタイムリーフとスプリング4.0を使用しています。自宅用に、コントローラーに次の requestMapping を追加しました。
@RequestMapping(value = "/", method = RequestMethod.GET)
public String start(Model model) {
return "home";
}
registration.html のリクエスト マッピングがありません。
私のhome.htmlには、次のリンクがあります(thymeleafアンカータグ):
<a href="registration.html" th:href="@{/registration.html}" th:text="#{navigation.registration}">Registration</a>
/myapp の下の tomcat でアプリをバインドし、/myapp で入力すると home.html ページが表示されます (そのためのリクエスト マッピングがあります) が、/myapp/registration.html で入力すると 404 が表示されます。
すべてのページをコントローラーに追加せずに、そのような静的 html ファイルを提供するには、どうすればよいですか? 出来ますか?静的リソースで試しましたが、うまくいきません。
また、ビューのディレクトリ レベルを上に移動しようとしたため、次のような構造になりました。
-WEB-INF
-views
--home.html
--registration.html
/myapp/views/registration.html には入ることができましたが、/myapp/registration.html に入ることができませんでした。