SpringMVC 向jsp页面传递数据库读取到的值方法

  

首先需要说明的是,SpringMVC向JSP页面传递数据库读取到的值的方法有很多种,这里介绍一种基本的方法。

  1. 控制层(Controller)

在控制层中我们需要注入一个由Service层封装好的Map对象,并将这个Map对象存入ModelAndView中,然后返回给View层(即JSP页面)。

示例:

@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/user/list")
    public ModelAndView userList() {
        ModelAndView modelAndView = new ModelAndView("user/list");
        Map<String, Object> map = new HashMap<>();
        List<User> userList = userService.getUserList();
        map.put("userList", userList);
        modelAndView.addAllObjects(map);
        return modelAndView;
    }
}
  1. 视图层(View)

在JSP页面中,我们需要在<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>标签之后导入相应的JSTL标签库(需要提前将JSTL.jar包放到项目的lib目录下):

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

在JSP页面中,我们可以通过c:forEach标签来对Map中的数据进行遍历,展示在页面上。示例:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
    <title>User List</title>
</head>
<body>
    <h1>User List:</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>
        <c:forEach items="${userList}" var="user">
            <tr>
                <td>${user.id}</td>
                <td>${user.name}</td>
                <td>${user.age}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>

以上就是一个基本的SpringMVC向JSP页面传递数据库读取到的值的方法,可以通过这种方法将读取到的数据传递到JSP页面进行展示。

另外,如果不想使用JSTL标签库,还可以使用EL表达式来实现,示例:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
    <title>User List</title>
</head>
<body>
    <h1>User List:</h1>
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>
        <c:forEach items="${userList}" var="user">
            <tr>
                <td>${user.id}</td>
                <td>${user.name}</td>
                <td>${user.age}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>
相关文章