spring-mvc解決EL表示式不能使用問題
阿新 • • 發佈:2019-02-04
剛開始學習spring mvc時經常會遇到 的一個問題就是在Controller層使用ModelAndView的addObject方法儲存資料後,在jsp頁面中使用EL表示式進行獲取得不到資料,而是直接顯示錶達式的值,如${message},產生這個問題的原因主要是JSP1.2預設的EL表示式是關閉的,而JSP2.0預設的EL表示式是開啟的。
解決方法為:
1)、採用JSP1.2
web.xml配置資訊為
- <!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>
2)、採用JSP2.0
web.xml的配置資訊為
- <web-appid="WebApp_ID"version="2.4"
- xmlns="http://java.sun.com/xml/ns/j2ee"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- //...
- </web-app>
以下配置為成功的示例:
web.xml檔案
- <?xmlversion="1.0"encoding="UTF-8"?>
- <web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- id="WebApp_ID"version="2.5">
- </web-app>
- <%@ page language="java"contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
- <title>Hello World</title>
- </head>
- <body>
- ${message}
- </body>
- </html>