sábado, 3 de agosto de 2019

SpringMVC ModelAndView simple

SpringMVC ModelAndView simple

Este es un prototipo usando Spring MVC, se toma como base la creación del proyecto con Eclipse IDE y STS de spring, y se modifica.
https://jalbertomr.blogspot.com/2019/08/configurar-ambiente-springmvc-apache.html

https://github.com/jalbertomr/SpringMVCsimple/commit/e243238b99e08d8a941f00c08041dffb20ef3b19

La estructura final del proyecto, muestra un controlador, en modelo tiene una entidad empleado, que es la clase java que representa los datos en memoria por medio de la clase. En el nivel de servicio, EmployeeService es una interface que se implementa con datos fijos en este caso, que bien podría llenarse por SQL.
  El controlador manda a llamar la vista listaEmpleados.jsp que envia el objeto listaEmpleados que tiene el modelo de datos de empleado con los datos tomados en el servicio.


El Controlador


@Controller
public class EmployeeController {
    private static final Logger logger = LoggerFactory.getLogger(EmployeeController.class);
   
    @Autowired
    private EmployeeService employeeService;
   
    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/")
    public ModelAndView viewAllItems() {
        logger.info("listando items...");
       
        List<Employee> listaEmpleados = employeeService.getAllEmployees();
        return new ModelAndView("/listaEmpleados","listaEmpleados", listaEmpleados);
    }
}



El modelo

Employee.java

public class Employee {
    private String empId;
    private String nombre;
    private String designacion;
    private double sueldo;

    public Employee( ) {
    }
   
    public Employee(String empId, String nombre, String designacion, double sueldo) {
        super();
        this.empId = empId;
        this.nombre = nombre;
        this.designacion = designacion;
        this.sueldo = sueldo;
    }

getters y setters...


EmployeeService.java
public interface EmployeeService {
    public List<Employee> getAllEmployees();
}


EmployeeServiceMockImpl.java
@Component
public class EmployeeServiceMockImpl implements EmployeeService {

    private List<Employee> mockEmployees = new ArrayList<Employee>();
   
    public EmployeeServiceMockImpl() {
        mockEmployees.add(new Employee("1","emp1","funciones1",10000));
        mockEmployees.add(new Employee("2","emp2","funciones2",20000));
        mockEmployees.add(new Employee("3","emp3","funciones3",30000));
        mockEmployees.add(new Employee("4","emp4","funciones4",40000));
        mockEmployees.add(new Employee("5","emp5","funciones5",50000));
        mockEmployees.add(new Employee("6","emp6","funciones6",60000));
    }

    @Override
    public List<Employee> getAllEmployees() {
        return mockEmployees;
    }

}


La Vista

listaEmpleados.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Lista de Empleados</title>
</head>
<body>
    <div id="listaEmpleados">
        <h2>Lista de Empleados</h2>
        <ul>
            <c:forEach items="${listaEmpleados}" var="nextEmp">
                <li>
                    <b>${nextEmp.empId}</b>
                    <b>${nextEmp.nombre}</b>
                    <b>${nextEmp.designacion}</b>
                    <b>${nextEmp.sueldo}</b>
                </li>
            </c:forEach>
        </ul>
    </div>
</body>
</html>

La Prueba





eot

No hay comentarios:

Publicar un comentario