Макет тимелеафа 404 не найден

Я установил все зависимости и выполнил инструкции, но шаблон не является страницей, шаблон не загружается и дает мне: 404. Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Я перешел на эту страницу для установки: https://ultraq.github.io/thymeleaf-layout-dialect/Installation.html

Я использую Thymeleaf 3.0.9 (зависимости установлены) и версию 2.3.0 зависимостей thymleaf-dialect.

Если я выну <bean></bean> (находится на странице установки), страница загрузится без шаблона. Это оставшаяся часть файла config-mvc.xml, в котором есть компоненты:

<beans xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns:mvc = "http://www.springframework.org/schema/mvc"
   xmlns = "http://www.springframework.org/schema/beans"
   xsi:schemaLocation = "http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

<mvc:annotation-driven/>

<mvc:resources mapping = "/resources/**" location = "/resources/"/>

<!-- **************************************************************** -->
<!--  THYMELEAF-SPECIFIC ARTIFACTS                                    -->
<!--  TemplateResolver <- TemplateEngine <- ViewResolver              -->
<!-- **************************************************************** -->

<bean id = "templateResolver"
      class = "org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    <property name = "prefix" value = "/WEB-INF/views/" />
    <property name = "suffix" value = ".html" />
    <property name = "templateMode" value = "HTML5" />
</bean>

<bean id = "templateEngine"
      class = "org.thymeleaf.spring4.SpringTemplateEngine">
    <property name = "templateResolver" ref = "templateResolver" />
</bean>

<bean class = "org.thymeleaf.spring4.view.ThymeleafViewResolver">
    <property name = "templateEngine" ref = "templateEngine" />
</bean>

Я что-то пропустил? Я также использую последнюю версию Spring-framework.

Обновлено:

Контроллер, с которым я пытаюсь связаться:

 @Controller
 public class HelloController {
     @RequestMapping(value = "/", method = RequestMethod.GET)
    public String hello(Model model) {
        int temp = (Math.random() <= 0.5) ? 1 : 2;
        if (temp == 1)
        {
            model.addAttribute("template", "template");
        } else
        {
            model.addAttribute("template", "admintemplate");
        }
        return "home";
    }
}

Мой web.xml:

<web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
     xmlns = "http://java.sun.com/xml/ns/javaee"
     xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
     version = "2.5">

<display-name>Hello Spring MVC</display-name>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/appconfig-root.xml</param-value>
</context-param>
<bean class = "nz.net.ultraq.thymeleaf.LayoutDialect">
    <constructor-arg ref = "groupingStrategy"/>
</bean>
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value></param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Обновлено: модель, которую я отправляю, содержит данные (видно при отладке). Я даю ему имя шаблона, но оно не помещается между $ {}.

Кажется, ваша конфигурация в порядке. Либо путь к вашему статическому контенту (страницам) не настроен в соответствии со спецификацией mvc, опубликованной здесь, либо ваши контроллеры не настроены или не зарегистрированы правильно. Не могли бы вы также опубликовать код контроллера, который не разрешен правильно?

nstosic 30.05.2018 16:54

Конфигурация выглядит нормально с фасолью, которую я пропустил? Но разве не странно, что без Thymeleaf страницы загружаются нормально?

Carlove 30.05.2018 16:59

home.html находится в папке resources / static /?

nstosic 30.05.2018 17:34

Нет, они во «просмотрах». Config-mvc отмечает, что он будет смотреться в views, вот почему. Обновлено: я попытался поместить их в static, но это дает мне тот же результат. Изменить редактировать: они находятся в: ресурсах / представлениях

Carlove 30.05.2018 18:53

Я только что удалил все XML-файлы, и он работает так же, как и (стандартный синтаксис URL-адреса thymleaf не работает). По какой-то причине, вероятно, из-за зависимостей, Thymeleaf не преобразует текст в имена. layout:decorate = "~{$template.html} не работает.

Carlove 30.05.2018 19:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
5
124
0

Другие вопросы по теме