Показать атрибуты в представлении jsp - PullRequest
0 голосов
/ 23 января 2020

Я разрабатываю простое веб-приложение CRUD с загрузкой Spring, используя Web mvc, Data JPA и MySQL для БД.

Я уже выполнил часть кода. Я не уверен насчет моего контроллера, потому что когда я пытаюсь создать новый файл jsp для проверки списка клиентов, представление не возвращает список клиентов

Я поделюсь с вами кодом парни и, пожалуйста, подскажите в чем проблема, если я что-то сделал не так

jsp file:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<table border="1" width="50%">
    <tr>
        <th>ID</th>
        <th>ICE</th>
        <th>Nombre</th>
        <th>Apellido</th>
    </tr>

    <c:forEach var="o" items="${listClientes}" >
        <tr>
            <th>${o.idCliente}</th>
            <th>${o.iceCliente}</th>
            <th>${o.nombreCliente}</th>
            <th>${o.apellidoCliente}</th>
        </tr>
    </c:forEach>

</table>

</body>
</html>

Entity Cliente:

public class Cliente implements Serializable{

    @Id @GeneratedValue
    private Integer idCliente;
    private String iceCliente;
    private String nombreCliente;
    private String apellidoCliente;
    private String direccionCliente;
    private String telefonoCliente;
    private String emailCliente;
    private TipoCliente tipoCliente;
    private String cuidadCliente;

    public Cliente() {
        super();
    }

    public Cliente(String iceCliente, String nombreCliente, String apellidoCliente, String direccionCliente,
            String telefonoCliente, String emailCliente, TipoCliente tipoCliente, String cuidadCliente) {
        super();
        this.iceCliente = iceCliente;
        this.nombreCliente = nombreCliente;
        this.apellidoCliente = apellidoCliente;
        this.direccionCliente = direccionCliente;
        this.telefonoCliente = telefonoCliente;
        this.emailCliente = emailCliente;
        this.tipoCliente = tipoCliente;
        this.cuidadCliente = cuidadCliente;
    }

    public Integer getIdCliente() {
        return idCliente;
    }

    public void setIdCliente(int idCliente) {
        this.idCliente = idCliente;
    }

    public String getIceCliente() {
        return iceCliente;
    }

    public void setIceCliente(String iceCliente) {
        this.iceCliente = iceCliente;
    }

    public String getNombreCliente() {
        return nombreCliente;
    }

    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    public String getApellidoCliente() {
        return apellidoCliente;
    }

    public void setApellidoCliente(String apellidoCliente) {
        this.apellidoCliente = apellidoCliente;
    }

    public String getDireccionCliente() {
        return direccionCliente;
    }

    public void setDireccionCliente(String direccionCliente) {
        this.direccionCliente = direccionCliente;
    }

    public String getTelefonoCliente() {
        return telefonoCliente;
    }

    public void setTelefonoCliente(String telefonoCliente) {
        this.telefonoCliente = telefonoCliente;
    }

    public String getEmailCliente() {
        return emailCliente;
    }

    public void setEmailCliente(String emailCliente) {
        this.emailCliente = emailCliente;
    }

    public TipoCliente getTipoCliente() {
        return tipoCliente;
    }

    public void setTipoCliente(TipoCliente tipoCliente) {
        this.tipoCliente = tipoCliente;
    }

    public String getCuidadCliente() {
        return cuidadCliente;
    }

    public void setCuidadCliente(String cuidadCliente) {
        this.cuidadCliente = cuidadCliente;
    }

ClienteRepository:

public interface ClienteRepository extends JpaRepository<Cliente, Integer> {

}

ClienteService:

public interface ClienteService {

    Cliente agregarCliente(Cliente cliente);
    Cliente editarCliente(Cliente cliente);
    List<Cliente> obtenerCliente();
    Cliente obtenerClientePorId(Integer idCliente);
    void removeCliente(Integer idCliente);

}

ClienteServiceImpl:

public class ClienteServiceImpl implements ClienteService {

    @Autowired
    ClienteRepository clienteRepository;

    @Override
    public Cliente agregarCliente(Cliente cliente) {

        return clienteRepository.save(cliente);
    }

    @Override
    public Cliente editarCliente(Cliente cliente) {
        Optional<Cliente> clienteDB = this.clienteRepository.findById(cliente.getIdCliente());
        if (clienteDB.isPresent()) {
            Cliente clienteUpdate = clienteDB.get();
            clienteUpdate.setIdCliente(cliente.getIdCliente());
            clienteUpdate.setIceCliente(cliente.getIceCliente());
            clienteUpdate.setNombreCliente(cliente.getNombreCliente());
            clienteUpdate.setApellidoCliente(cliente.getApellidoCliente());
            clienteUpdate.setDireccionCliente(cliente.getDireccionCliente());
            clienteUpdate.setCuidadCliente(cliente.getCuidadCliente());
            clienteUpdate.setTelefonoCliente(cliente.getTelefonoCliente());
            clienteUpdate.setEmailCliente(cliente.getEmailCliente());
            clienteRepository.save(clienteUpdate);
            return clienteUpdate;
        } else {
            throw new RessourceNotFoundException(
                    "Cliente no encontrado con nombre de usuario : " + cliente.getIdCliente());
        }

    }

    @Override
    public List<Cliente> obtenerCliente() {

        return this.clienteRepository.findAll();
    }

    @Override
    public void removeCliente(Integer idCliente) {

        Optional<Cliente> clienteDB = this.clienteRepository.findById(idCliente);

        if (clienteDB.isPresent()) {
            this.clienteRepository.delete(clienteDB.get());
        } else {
            throw new RessourceNotFoundException("Cliente no encontrado con nombre de usuario : " + idCliente);
        }

    }

    @Override
    public Cliente obtenerClientePorId(Integer idCliente) {

        Optional<Cliente> clienteDB = this.clienteRepository.findById(idCliente);

        if (clienteDB.isPresent()) {
            return clienteDB.get();
        } else {
            throw new RessourceNotFoundException("Cliente no encontrado con nombre de usuario : " + idCliente);
        }

    }

ClienteController:

public class ClienteController {

    @Autowired
    private ClienteService clienteService;

    @RequestMapping("/nestideas")
    public String index() {
        return ("cliente");
    }

    @RequestMapping(value="/index")
    public String pageIndex(Model model) {
        model.addAttribute("listClientes", clienteService.obtenerCliente());
        clienteService.obtenerCliente();
        return "clientes";
    }

web. xml:

<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>nestideas</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>nestideas</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>clientelist.jsp</welcome-file>
    </welcome-file-list>
</web-app>

application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/nestideasdb9? 
useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=Mexico@86
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
server.port=8060

пом. xml

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