您好,我是spring boot和mvc模型的新手,我试图创建一些方法来使用邮递员将一些数据调用到Mongo DB中,但现在我想在网页上显示此数据,但我无法弄清楚Spring Boot中映射的工作方式。 我有这种方法:
@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>
this is the location of my files
谁能告诉我我想念什么,因为当我尝试访问url localhost:8080 / Informacion / Listar时,答案是一个说/ ListarInformacion ant的字符串,它无法将我重定向到其可重定向的页面< / p>
答案 0 :(得分:0)
您应该尝试访问localhost:8080/Informacion/Listar
,因为已经将其映射到控制器类(/Informacion
)
将jsp放入Spring Boot项目的首选位置是
--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