EL表達式無法顯示Model中的數據
最近在學習SpringMVC,所有的配置都已經完成,但是在測試的時候EL表達式一直無法顯示,例如存儲在Model中${message},在jsp頁面既然原樣輸出${message},EL表達式好像就無效,
那么問題來了,什么原因導致的不顯示了,反復檢查代碼和配置,依然沒有發現錯誤,代碼如下:
首先是Spring Controller
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldController implements Controller {
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
ModelAndView modelAndView = new ModelAndView();
//添加模型數據 可以是任意的POJO對象
modelAndView.addObject("message", "Hello World!");
//設置邏輯視圖名,視圖解析器會根據該名字解析到具體的視圖頁面
modelAndView.setViewName("hello");
return modelAndView;
}
}
hello.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>hello world</title>
</head>
<body>
${message}
</body>
</html>
這這這。。。。。。,到底是什么問題了,終於被我找到了,原來是web.xml聲明惹的禍啊
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
修改后,EL表達式就顯示正常了 ,如下圖
好吧,結束,繼續下面的學習吧