Thymeleaf не показывает значения - PullRequest
0 голосов
/ 28 апреля 2018

Я пишу небольшое веб-приложение с использованием Spring-Boot & Thymeleaf, но значения, передаваемые из контроллера в html-страницу, не отображаются.

Не знаю почему, но это не работает.

pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!--    thymeleaf   -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
</dependencies>

Конфигурация

@Configuration
public class ThymeleafConfig {

    @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setCacheable(false);
        templateResolver.setPrefix("/");
        templateResolver.setSuffix(".html");
        templateResolver.setCacheable(false);
        return templateResolver;
    }

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
        springTemplateEngine.addTemplateResolver(templateResolver());
        return springTemplateEngine;
    }

    @Bean
    public ThymeleafViewResolver viewResolver() {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(templateEngine());
        viewResolver.setOrder(1);
        viewResolver.setViewNames(new String[] {".html", ".xhtml"});
        return viewResolver;
    }

Это контроллер

@Controller
@RequestMapping("/dyn")
public class DynamicWebPage {

   @RequestMapping(value = "/third", method = RequestMethod.GET)
   public ModelAndView fileDinamicoTerzo() {
        Map<String, Object> model = new HashMap<>();
        model.put("messagge", "ciao");
        ModelAndView mav = new ModelAndView();
        mav.addAllObjects(model);
        mav.setViewName("forward:provadin.html");
        return mav;
    }
}

это HTML-файл, здесь я должен увидеть значение данных, через которые я прошел ... HTML шаблон

<div th:text="${message}">${message}</div>
<div th:utext="${message}">${message}</div>
<div th:value="${message}">${message}</div>
<div data-th-text="${message}"></div>
<div th:inline="text">[[${message}]]</div>
<div th:inline="text">[[${model.message}]]</div>

и это результат

${message}
${message}
${message}

[[${model.messagge}]]
[["${model.messagge}"]]

Может кто-нибудь сказать мне, как решить эту проблему?

Извините за мой английский

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Вы неправильно пишете слово "сообщение".

Давайте также очистим ваш контроллер:

@Controller
public class DynamicWebPage {

   @GetMapping("/third")
   public String fileDinamicoTerzo(Model model) {
       model.addAttribute("message", "ciao");
       return "provadin";
   }
}

Ваш HTML может иметь что-то вроде:

<span th:remove="tag" th:text="${message}">message</div>

Кроме того, для будущих вопросов по SO, пожалуйста, удалите все, что не является необходимым в вашем вопросе. Вам не нужно комментировать код.

0 голосов
/ 28 апреля 2018

Ты вообще не запускаешь Thymeleaf. Вам нужно «сказать» Spring, чтобы использовать Thymeleaf в качестве механизма шаблонов.

https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html. Точки 2 и 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...