Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro 5727 no eclipse

ERROR 5724 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-1] Exception processing template "filmes/Listagem": An error happened during template parsing (template: "class path resource [templates/filmes/Listagem.html]")

6 respostas

Oi!

Manda aqui o código da sua classe Controller e um print da estrutura de diretorios do seu projeto.

package br.com.filme.screenmatch.controller;

import java.util.ArrayList; import java.util.List;

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

import br.com.filme.screenmatch.domain.filme.DadosFilme; import br.com.filme.screenmatch.domain.filme.Filme;

@Controller @RequestMapping("/filmes") public class FilmeController {

private List<Filme> filmes=new ArrayList<>();


@GetMapping("/formulario")
public String carregaPagina(){
    return "filmes/Formulario";
    
    
}
@GetMapping
public String carregaPaginaListagem(Model model){
     model.addAttribute("lista", filmes);		
     return "filmes/Listagem";
    
}


@PostMapping
public String cadastrarFilme(DadosFilme dados){
    var filme=new Filme(dados);
    filmes.add(filme);
    return "filmes/Formulario";
    
    
}

}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Está certinho. O problema deve estar na página Listagem.html. Manda o código dela aqui.

<!DOCTYPE html>
<html lang="en" xmlns:th="http://thymeleaf.org">
<head>
<meta charset="ISO-8859-1">
<title>Locadora listagem</title>
</head>
<body>
    <h1>Listagem  da locadora </h1>
    <br>
    <table>
        <thead>
            <tr>
                <th>
                    NOME
                </th>
                <th>DURAÇAO</th>
                <th>GENERO</th>
                <th>ANO DE LANÇAMENTO</th>
            </tr>
        </thead>
        <tbody>
            <tr th:each"filme : ${lista}">
            <td th:text="${filme.nome}"></td>
            <td th:text="${filme.duracaoEmMinutos}"></td>
            <td th:text="${filme.anoLancamento}"></td>
            <td th:text="${filme.genero}"></td>
            </tr>
        </tbody>
    </table>
</body>
</html>
solução!

O problema está na linha do th:each:

<tr th:each"filme : ${lista}">

Faltou o simbolo de igual depois da palavra each:

<tr th:each="filme : ${lista}">