1. 程式人生 > >spring-mvc解決EL表示式不能使用問題

spring-mvc解決EL表示式不能使用問題

剛開始學習spring mvc時經常會遇到 的一個問題就是在Controller層使用ModelAndView的addObject方法儲存資料後,在jsp頁面中使用EL表示式進行獲取得不到資料,而是直接顯示錶達式的值,如${message},產生這個問題的原因主要是JSP1.2預設的EL表示式是關閉的,而JSP2.0預設的EL表示式是開啟的。

      解決方法為: 

      1)、採用JSP1.2 

             web.xml配置資訊為

  1. <!DOCTYPE web-app PUBLIC  
  2.  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"  
  3.  "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. </web-app>
EL是關閉的,必須手動開啟。<%@page isELIgnored="false" %>

      2)、採用JSP2.0

            web.xml的配置資訊為     

  1. <web-appid="WebApp_ID"version="2.4"
  2. xmlns="http://java.sun.com/xml/ns/j2ee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  5. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6. //...  
  7. </web-app>
      可以直接使用。

      以下配置為成功的示例:

      web.xml檔案       

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.     xmlns="http://java.sun.com/xml/ns/javaee"
  4.     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  6.     id="WebApp_ID"version="2.5">
  7. </web-app>
       jsp頁面       
  1. <%@ page language="java"contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
  7. <title>Hello World</title>
  8. </head>
  9. <body>
  10.     ${message}  
  11. </body>
  12. </html>