Сопоставление некоторых URL-адресов с помощью Spring Boot - PullRequest
0 голосов
/ 14 декабря 2018

Привет, я новичок с весенней загрузкой и моделью mvc. Я пытаюсь создать некоторые методы для вызова некоторых данных в БД Mongo, используя почтальон, который получает данные, но теперь я хочу показать эти данные на веб-странице, но я не могу понять,Как работает отображение в весенней загрузкеУ меня есть следующие методы:

@Controller
@RequestMapping("/Informacion")
public class InformacionControlador {
@Autowired
private informacionRepo informacioRepo;

public InformacionControlador(informacionRepo informacioRepo) {
    this.informacioRepo = informacioRepo;
}

//This method is comment because using postman get the answer in json format

//    @GetMapping("/Listar")
//    public List<Informacion> getAll() {
//        List<Informacion> info = this.informacioRepo.findAll();
//        return info;
//    }

//Now this is the method that i want to work like the first one but 
//instead of json answer y want to see the data in ListarInformacion page

@GetMapping("/Listar")
public String informacion(ModelMap model) {
    model.addAttribute("info", informacioRepo.findAll());
    return "ListarInformacion";
}


@PutMapping
public void insert(@RequestBody Informacion informacion) {
    this.informacioRepo.insert(informacion);
}

}

Также я поместил эти строки в файл application.properties, чтобы указать папку, в которой будет храниться страница

spring.mvc.view.prefix=/webapp/Vistas
spring.mvc.view.suffix=.jsp

Это моя страница ListarInformacion

<html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<head>
    <title>Title</title>
</head>
<body>
<form:form method="GET" action="/webapp/Vistas/ListarInformacion" modelAttribute="Informacion">
<table class="table table-striped table-hover">
     <thead class="thead-dark">
     <tr>
         <th scope="col">ID</th>
         <th scope="col">Nombre</th>
        <th scope="col">Identificación</th>
        <th scope="col">Fecha Creación</th>
    </tr>
</thead>
<c:forEach var="p" items="${info}">
    <tr>
        <td>${p.idInformacion}</td>
        <td>${p.nombre}</td>
        <td>${p.pais}</td>
        <td><fmt:formatDate pattern="dd/MM/yyyy" value="${p.fechaCreacion}"/></td>
        <td>

        </td>
    </tr>
</c:forEach>

</table>
</form:form>
</body>
</html>

это расположение моих файлов

Может кто-нибудь сказать мне, что я скучаю, потому что, когда я пытаюсь получить доступ к URL localhost: 8080 / Informacion / Listarответом является строка, которая говорит / ListarInformacion и не перенаправляет меня на страницу, на которую можно перенаправить

1 Ответ

0 голосов
/ 14 декабря 2018

Вы должны попытаться получить доступ к localhost:8080/Informacion/Listar, так как вы уже дали сопоставление классу контроллера (/Informacion)

предпочтительное место для размещения jsp в проекте весенней загрузки:

--webapp
       --WEB-INF
         --jsp
           --your.jsp

в вашем случае это -

-webapp
       --WEB-INF(Create WEB-INF directory if you don't have)
            --Vistas(folder)
         --jsp
           --hello.jsp

И ваш путь просмотра в файле свойств будет spring.mvc.view.prefix=/WEB-INF/Vistas

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