Настройка Jade4J в качестве движка шаблонов по умолчанию в Spring - PullRequest
0 голосов
/ 23 октября 2018

Я недавно выбрал Spring Framework для своего университетского проекта по курсу Java, выбрал Jade4J для моего механизма шаблонов, уже поместил зависимость в pom.xml и установил пакет, но когда я звоню по Jade4J.render("./index.jade", model);, но я получаю "./index.jade (файл не найден) "ответ.Uppon, смотрящий в github repo , не содержит конкретной информации о том, как создать класс конфигурации с каталогом, в котором он будет искать шаблоны.Я даже пытался поместить файл index.jade повсюду в проекте (контроллер dir, dir, в котором реализован main.java, dir ресурсов, dir webapp).Буду признателен за любую помощь, предоставлю дополнительную информацию, если необходимо

Изменить 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

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Для новых людей, которые пытаются найти информацию о Jade4j .

Здесь вы можете найти пример, который работает без ошибок, и другие примеры движка шаблонов https://github.com/jreijn/spring-comparing-template-engines

Основной вопрос: Вам действительно нужен Jade4j?

Последний выпуск был 2017 года, и у него нет большого сообщества https://mvnrepository.com/artifact/de.neuland-bfi/jade4j

0 голосов
/ 23 октября 2018

Проверяли ли вы интеграцию Spring для Jade4j https://github.com/neuland/spring-jade4j

В ней подробно рассказывается, как Jade4j можно настроить с помощью Spring Beans.

<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>
...