Estou tentando listar um paciente pelo id passado via Url. No controller criei esse método:
@RequestMapping("lista/{id}")
public String listaPorId(@PathVariable("id") Long id, Model model) {
Optional<Paciente> pacientes = pacienteRepository.findById(id);
model.addAttribute("pacientes", pacientes);
System.out.println(model.toString());
return "paciente/lista";
}
Porém, não consigo listar esse valor na minha página html.
<div class="card mb-3" th:each="paciente : ${pacientes}">
<a th:href="@{lista/{id}(id=${paciente.id})}"></a>
<div class="card-header" th:text="${paciente.nome}">Nome do
Paciente:</div>
Eu até consigo ver o valor no console via System.out.println(model.toString());
O erro gerado é:
{pacientes=Optional[Paciente [id=1, nome=João da Silva, idade=21, endereco=RUA J, cpf=22222, rg=null, telefone=null, possuiPlano=null, codigoPlanoDeSaude=1111, email=joao@email.com, alergias=[Alergia [id=1, alergia=LEITE], Alergia [id=2, alergia=FRUTOS DO MAR]]]]} 2021-01-25 21:32:41.564 ERROR 140584 --- [nio-8080-exec-3] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-3] Exception processing template "paciente/lista": An error happened during template parsing (template: "class path resource [templates/paciente/lista.html]") aused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "paciente.nome" (template: "paciente/lista" - line 22, col 29) at org.attoparser.MarkupParser.parseDocument(MarkupParser.java:393) ~[attoparser-2.0.5.RELEASE.jar:2.0.5.RELEASE] at org.attoparser.MarkupParser.parse(MarkupParser.java:257) ~[attoparser-2.0.5.RELEASE.jar:2.0.5.RELEASE] at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:230) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] ... 40 common frames omitted Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "paciente.nome" (template: "paciente/lista" - line 22, col 29)