не запускается web страница после перехода с mustache на freemarker
Есть небольшое web-приложение на Spring. решил перейти с mustache на freemarker и теперь не запускается стартовая web-страница - выдает 404 в pom.xml зависимости прописал:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
Умные люди советовали переименовать .ftl на .ftlh, или в пропрети добавить spring.freemarker.suffix= .ftl Ни то, ни другое не помогает. Вот файл main.ftlh:
<#import "parts/common.ftlh" as c>
<#import "parts/login.ftlh" as l>
<@c.page>
<div>
<@l.logout />
</div>
<div>
<form method="post">
<input type="text" name="text" placeholder="Введите сообщение" />
<input type="text" name="tag" placeholder="Тэг">
<input type="hidden" name="_csrf" value="${_csrf.token}" />
<button type="submit">Добавить</button>
</form>
</div>
<div>Список сообщений</div>
<form method="get" action="/main">
<input type="text" name="filter" value="${filter}">
<button type="submit">Найти</button>
</form>
<#list messages as message>
<div>
<b>${message.id}</b>
<span>${message.text}</span>
<i>${message.tag}</i>
<strong>${message.authorName}</strong>
</div>
<#else>
No message
</#list>
</@c.page>
Ответы (1 шт):
Автор решения: Dmitry Shelemeh
→ Ссылка
404 это ответ сервера (страница не найдена). Это не ошибка шаблонизатора. Проверьте контроллер, в котором указан маппинг на шаблон.
@Controller
public class MainController {
@GetMapping("/")
public String main(Model model) {
return "MainPage";
}
}
MainPage для файла MainPage.ftlh
И еще, вроде для работы расширение .ftlh нужна новая версия спринга:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/>
</parent>