Preciso exibir uma lista de todos os veterinários que existem no meu banco, mas a minha lista só retorna vazia.
<%@page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“ISO-8859-1”%>
<%@taglib prefix=“form” uri=“http://www.springframework.org/tags/form”%>
<%@taglib prefix=“spring” uri=“http://www.springframework.org/tags”%>
<jsp:include page="../comum/header.jsp"></jsp:include>
<div class="container">
<h1>Cadastro de Veterinário</h1>
<form:form modelAttribute="veterinario" action="${cadastra}">
<div class="form-group">
<label for="crv">Número CRV</label>
<input type="text" name="crv" id="crv" value="${veterinario.crv}" class="form-control">
</div>
<div class="form-group">
<label for="nomeVeterinario">Nome Veterinário</label>
<input type="text" name="nomeVeterinario" id="nomeVeterinario" value="${veterinario.nomeVeterinario}" class="form-control">
</div>
<div class="form-group">
<label for="telefoneVeterinario">Telefone Veterinário</label>
<input type="text" name="telefoneVeterinario" id="telefoneVeterinario" value="${veterinario.telefoneVeterinario}" class="form-control">
</div>
<div class="form-group">
<label for="especialidade">Especialidade</label>
<input type="text" name="especialidade" id="especialidade" value="${veterinario.especialidade}" class="form-control">
</div>
<button type="submit" class="btn btn-primary">Cadastrar</button>
<a href="/" class="btn btn-success">Voltar</a>
</form:form>
<table class="table table-striped">
<thead class="thead-dark">
<tr>
<th scope="col">CRV</th>
<th scope="col">Nome Veterinário</th>
<th scope="col">Telefone Veterinário</th>
<th scope="col">Especialidade</th>
<th scope="col" colspan="2">Ações</th>
</tr>
</thead>
<tbody>
<c:forEach var="veterinario" items="${veterinario}">
<tr>
<td scope="row">${veterinario.crv}</td>
<td>${veterinario.nomeVeterinario}</td>
<td>${veterinario.telefoneVeterinario}</td>
<td>${veterinario.especialidade}</td>
<td><a href="${altera}${veterinario.idVeterinario}" class="btn btn-warning">Alterar</a></td>
<td><a href="${deleta}${veterinario.idVeterinario}" class="btn btn-danger"
onclick="return confirm('Deseja deletar esse produto?');">Deletar</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<script type="text/javascript" src="/js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
VETERINARIO DTO
package com.qintess.veterinaria.controller.dto;
import com.qintess.veterinaria.models.Veterinario;
public class VeterinarioDto {
private int idVeterinario;
private String crv;
private String nomeVeterinario;
private String telefoneVeterinario;
private String especialidade;
public VeterinarioDto() {
}
public VeterinarioDto(Veterinario v) {
this.idVeterinario = idVeterinario;
this.crv = crv;
this.nomeVeterinario = nomeVeterinario;
this.telefoneVeterinario = telefoneVeterinario;
this.especialidade = especialidade;
}
public String getCrv() {
return crv;
}
public void setCrv(String crv) {
this.crv = crv;
}
public String getNomeVeterinario() {
return nomeVeterinario;
}
public void setNomeVeterinario(String nomeVeterinario) {
this.nomeVeterinario = nomeVeterinario;
}
public String getTelefoneVeterinario() {
return telefoneVeterinario;
}
public void setTelefoneVeterinario(String telefoneVeterinario) {
this.telefoneVeterinario = telefoneVeterinario;
}
public String getEspecialidade() {
return especialidade;
}
public void setEspecialidade(String especialidade) {
this.especialidade = especialidade;
}
public int getIdVeterinario() {
return idVeterinario;
}
public void setIdVeterinario(int idVeterinario) {
this.idVeterinario = idVeterinario;
}
public Veterinario conveter() {
return new Veterinario(this.crv, this.especialidade, this.nomeVeterinario, this.telefoneVeterinario, null);
}
@Override
public String toString() {
return "VeterinarioDto [idVeterinario=" + idVeterinario + ", crv=" + crv + ", nomeVeterinario="
+ nomeVeterinario + ", telefoneVeterinario=" + telefoneVeterinario + ", especialidade=" + especialidade
+ "]";
}
}
HOME - CLASSE ONDE PUXO A LIST
package com.qintess.veterinaria.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import com.qintess.veterinaria.controller.dto.VeterinarioDto;
import com.qintess.veterinaria.repositorios.VeterinarioRepository;
@Controller
public class HomeController {
@Autowired
private VeterinarioRepository veterinarioRepository;
@GetMapping("")
public String home(Model model) {
model.addAttribute("veterinario", retornaVeterinarioDto());
return "index";
}
private List <VeterinarioDto> retornaVeterinarioDto() {
var veterinarioDto = new ArrayList<VeterinarioDto>();
veterinarioRepository.findAll().forEach(v -> {
veterinarioDto.add(new VeterinarioDto(v));
});
return veterinarioDto;
}
}
REPOSITORIO
package com.qintess.veterinaria.repositorios;
import org.springframework.data.repository.CrudRepository;
import com.qintess.veterinaria.models.Veterinario;
public interface VeterinarioRepository extends CrudRepository<Veterinario, Integer>{
}
Minha tabela tem retornado assim
