jsp頁面無法識別el表達式的解決方案


  今天在寫一個springmvc的小demo時,碰到一個問題,在jsp頁面中書寫為${user.username}的表達式語言,在瀏覽器頁面中仍然顯示為${user.username},說明jsp根本不認識${}標簽,摸索了一下,發現我的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" >

  這表示的是servlet使用的2.3版本,查了一下,默認情況下,Servlet2.3/jsp1.2默認是不支持el表達式的,此時有兩種解決方案,測試都能解決問題.

  第一種方式,是直接在jsp文件頭部標簽前加入

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

  表示強制性的不忽略el表達式格式,重新測試,成功顯示數據.

  第二種方式就是使用servlet的更高版本,比如我直接將web.xml改成2.5版本:

<?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_2_5.xsd"
         id="WebApp_ID" version="2.5">

</web-app>

  此時,不需要設置 isELIgnored="false" 因為此版本已經默認支持el表達式了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM