Загрузить данные в таблицу начальной загрузки - PullRequest
0 голосов
/ 13 ноября 2018

Я разрабатываю приложение для начальной загрузки для академического проекта, сейчас мне нужно загрузить некоторые данные (из mongolab) в таблицу начальной загрузки. Я использую шаблон MVC. Данные будут извлечены из базы данных и отфильтрованы по критериям (имя сотрудника), а эти отфильтрованные документы должны быть в таблице.

Мой метод контроллера:

@RequestMapping(value = "listarFichajesEmpleado", method = RequestMethod.POST) 
public String listarFichajesEmpleado(HttpServletRequest request,Model model) throws Exception {     
    Usuario usuario;
    //Getting the identification of the employee to search through the database, name to be exact
    usuario = (Usuario) request.getSession().getAttribute(usuario_conect); 
    String nombreEmpleado = usuario.getNombre();

    //creating the list of corresponding data related to the specific employee
    List<Document> listaFichajes = new ArrayList<Document>();
    //getFichajesEmpleado() will retrieve that data from the DB through the DAO class
    listaFichajes = usuario.getFichajesEmpleado(nombreEmpleado);

    // this is where i think i would add the data to the jsp file
    model.addAttribute("fichajes", listaFichajes);

    return "fichajes"; //returning the fichajes.jsp file again
    } 

Форма JSP - просто простая таблица для проверки, расположенная в fichajes.jsp

<form action="listarFichajesEmpleado" method="post">
    <table class="table table-dark" align="center">
        <thead class="thead">
            <tr>
                <th scope="col">Fecha</th>
                <th scope="col">Entrada</th>
                <th scope="col">Salida</th>
                <th scope="col">Estado</th>

            </tr>
        </thead>
        <tbody>
            <c:forEach items="${fichajes}" var="fichaje">
                <tr>
                    <td>${fichaje.fechaFichaje}</td>
                    <td>${fichaje.horaFichaje}</td>
                    <td>${fichaje.horaCierre}</td>
                    <td>${fichaje.estado}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</form>

Я не думаю, что класс модели действительно уместен, потому что, как сказано в этой строке кода:

listaFichajes = usuario.getFichajesEmpleado(nombreEmpleado);

данные успешно получены из базы данных и представляют собой список документов Монго со следующей структурой:

nombreEmpleado -- name of employee just needed to search on DB
fechafichaje   -- date of the sign in 
horaentrada    -- entry time
horasalida     -- exit time
estado         -- state of the check in (true or false)

Но проблема в том, что на столе не будет никакой информации.

Мои знания о Spring-Boot и шаблоне MVC действительно ограничены (особенно в классах контроллеров и о том, как модели и представления работают с ними), поэтому любые советы будут оценены.

1 Ответ

0 голосов
/ 13 ноября 2018

Вам не хватает taglib для jstl:

Добавьте это в свой файл jsp:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Не забудьте импортировать банку в файл pom / gradle: (Я использую Gradle)

compile group: 'javax.servlet', name: 'jstl', version: '1.2'

Вывод: (Я просто поставил несколько полей, чтобы показать вам)

enter image description here

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