我刚开始使用Thymeleaf,并且试图了解模板解析器中的setPrefix()方法。我了解某些情况,例如setPrefix("classpath:/com/package")setPrefix("file:folder")(相对于工作目录)。

但是我还是不明白,例如setPrefix("/views/")指的是什么。 Thymeleaf期望views文件夹在哪里?开头的/是不是绝对路径?如果是这样,“根”在哪里?

是否取决于特定的TemplateResolver?在我的实例中,我正在使用SpringResourceTemplateResolver。

最佳答案

如果您使用的是SpringResourceTemplateResolver,则该前缀相对于war文件的根目录(或解压后的web-app基本目录)。

当使用Maven作为构建系统时,其源文件夹为src/main/webapp。例如,如果您setPrefix("/views/")您的模板应放在src/main/webapp/views/中。

提示:使用WEB-INF目录可以防止最终用户直接检索模板。

09-12 18:08