问题:在java代码中设置 了msg但是在jsp页面使用jstl取不出来
原因:创建maven工程时,idea自动添加的web.xml中的jsp页面头约束版本太低
解决方法:将“一”的代码替换为“二”的代码即可
“一”
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
</web-app>
“二”
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> </web-app>
java代码:
@GetMapping("/findPersonAll") public ModelAndView findPerson(ModelAndView modelAndView){ List<Person> all = personService.findAll(); modelAndView.addObject("list",all); modelAndView.addObject("name","我是你大哥"); modelAndView.setViewName("searchAll"); return modelAndView; }
jsp页面代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>list</title> </head> <body> <h1>用户列表</h1> <h2>${name}</h2> <table border="1 solid"> <thead> <td>姓名</td> <td>密码</td> </thead> <c:forEach var="item" items="${userList}" > <tr> <td>${item.name}</td> <td>${item.password}</td> </tr> </c:forEach> </table> </body> </html>