Не удалось получить массив в тимелеафе th: each method - PullRequest
1 голос
/ 08 июля 2020

Контроллер имеет,

    package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

/**
 * GreetingController
 */
@Controller
public class GreetingController {
    @GetMapping("/index")
    public String greeting(Model model) {
        String[] dataa = {"TATA", "CTS", "MTS"};
        model.addAttribute("message", "Hello world!");
        model.addAttribute("datta", dataa);
        return "index";
    }
}

индекс Thymeleaf. html:

    <!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <h2>Index Page2</h2>
    <h1 th:text="${message}"></h1>
    <ul th:each="item : ${datta}">
        <li th:text="${item}"></li>
    </ul>
</body>
</html>

Not usnderstanidng, почему я не могу использовать массив данных в индексе. html. Возможно ли установить значение ключа th: each.

Ответы [ 2 ]

1 голос
/ 08 июля 2020
  1. Просто перепроверьте, импортирован ли правильный пакет для класса Model. Не уверен!

  2. Убедитесь, что индексный файл находится в / src / main / resources / templates

1 голос
/ 08 июля 2020

Ошибка ввода в имени переменной, используйте dataa или datta в обоих местах

В Java вы передали атрибут dataa

model.addAttribute("dataa", datta);

Но при извлечении в html имя переменной datta

<ul th:each="item : ${datta}">
...