在 Spring 中将 Jade4J 配置为默认模板引擎
Configuring Jade4J as default template engine in Spring
我最近在 Java 课程上为我的大学项目选择了 Spring 框架,为我的模板引擎选择了 Jade4J 已经将依赖项放入 pom.xml 并安装了包但是当我'我正在调用 Jade4J.render("./index.jade", model);
但我收到“./index.jade(未找到文件)”响应。在 github repo 中查找时,没有关于如何使用它将查找模板的目录进行配置 class 的特定信息。我什至试图将 index.jade 文件放在项目的任何地方(控制器目录、实现 main.java 的目录、资源目录、webapp 目录)。如果有必要,我将不胜感激,我会提供任何进一步的信息
编辑 1
将 JadeConfig class 添加到项目中,内容为:
@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 的 Spring 集成 https://github.com/neuland/spring-jade4j
它详细介绍了如何使用 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>
对于尝试查找 Jade4j 信息的新人。
在这里你可以找到没有错误的例子和模板引擎的其他例子https://github.com/jreijn/spring-comparing-template-engines
主要问题是你真的需要Jade4j吗?
上次发布是 2017 年,他的社区不大 https://mvnrepository.com/artifact/de.neuland-bfi/jade4j
我最近在 Java 课程上为我的大学项目选择了 Spring 框架,为我的模板引擎选择了 Jade4J 已经将依赖项放入 pom.xml 并安装了包但是当我'我正在调用 Jade4J.render("./index.jade", model);
但我收到“./index.jade(未找到文件)”响应。在 github repo 中查找时,没有关于如何使用它将查找模板的目录进行配置 class 的特定信息。我什至试图将 index.jade 文件放在项目的任何地方(控制器目录、实现 main.java 的目录、资源目录、webapp 目录)。如果有必要,我将不胜感激,我会提供任何进一步的信息
编辑 1
将 JadeConfig class 添加到项目中,内容为:
@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 的 Spring 集成 https://github.com/neuland/spring-jade4j
它详细介绍了如何使用 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>
对于尝试查找 Jade4j 信息的新人。
在这里你可以找到没有错误的例子和模板引擎的其他例子https://github.com/jreijn/spring-comparing-template-engines
主要问题是你真的需要Jade4j吗?
上次发布是 2017 年,他的社区不大 https://mvnrepository.com/artifact/de.neuland-bfi/jade4j