我最近在我的Java课程中为我的大学项目选择了Spring框架,为我的模板引擎选择了Jade4J,已经将依赖项放在pom.xml中,并安装了该软件包,但是当我调用Jade4J.render("./index.jade", model);
时却得到了“ ./index .jade(找不到文件)”响应。 Uppon在github repo中查找并没有特定的信息,该如何使用将查找模板的目录创建配置类。我什至尝试将index.jade文件放在项目中的所有位置(控制器dir,实现main.java的dir,资源dir,webapp dir)。如有任何帮助,我们将不胜感激,如有需要,我们将提供进一步的信息
编辑1
添加了JadeConfig类以使用以下内容进行项目:
@Bean
public SpringTemplateLoader templateLoader() {
SpringTemplateLoader templateLoader = new SpringTemplateLoader();
templateLoader.setBasePath("/templates/");
templateLoader.setEncoding("UTF-8");
templateLoader.setSuffix(".jade");
return templateLoader;
}
@Bean
public JadeConfiguration jadeConfiguration() {
JadeConfiguration configuration = new JadeConfiguration();
configuration.setCaching(false);
configuration.setTemplateLoader(templateLoader());
return configuration;
}
@Bean
public ViewResolver viewResolver() {
JadeViewResolver viewResolver = new JadeViewResolver();
viewResolver.setConfiguration(jadeConfiguration());
return viewResolver;
}
我的索引控制器具有以下功能:
@GetMapping(value = "/")
public String greeting() throws IOException {
Map<String, Object> model = new HashMap<String, Object>();
model.put("title", "Index Page");
String html = Jade4J.render("./index.jade", model);
return html;
}
最后,模板index.jade路径是src \ main \ webapp \ templates \ index.jade
最佳答案
您是否检查过Jade4j https://github.com/neuland/spring-jade4j的Spring集成
它详细说明了如何使用Spring Beans配置Jade4j。
<bean id="templateLoader" class="de.neuland.jade4j.spring.template.SpringTemplateLoader">
<property name="basePath" value="/WEB-INF/views/" />
</bean>
<bean id="jadeConfiguration" class="de.neuland.jade4j.JadeConfiguration">
<property name="prettyPrint" value="false" />
<property name="caching" value="false" />
<property name="templateLoader" ref="templateLoader" />
</bean>
<bean id="viewResolver" class="de.neuland.jade4j.spring.view.JadeViewResolver">
<property name="configuration" ref="jadeConfiguration" />
<!-- rendering nice html formatted error pages for development -->
<property name="renderExceptions" value="true" />
</bean>