EL表達式不起作用原因
web.xml中2.4版本的默認導入的standerd.jar,和jstl.jar是使用el表達式的包是啟動的而2.5版本的web.xml中默認是關閉的
所以在2.5的所有jsp中需要啟動一下
用<% page isELIgnored="false"%>
el表達式不起作用
今天用el表達式,老是得不到后臺傳過來的值。該導入的jar包和標簽庫也都導入了。還是不起作用。后來在網上找到一篇文章。解決了。原來是版本的問題。現在貼一下。
tomcat5.0的版本, 使用了低版本,只求穩定。
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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"
version="2.4">
2.4版本默認啟用el表達式,如果使用2.5版本,默認el表達式是關閉的
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
那么對應2.5的web.xml --> jsp頁面里應該增加<%@ page isELIgnored="false"%>
一句話,凡是部署描述文件遵循Servlet2.4規范的WEB應用,EL表達式的計算默認是啟用的,而未遵循的,則EL表達式的計算默認是禁用的。
所以解決方案還可以是:將web.xml中的DTD(文檔類型定義)改問2.4的版本
我用的是在公共頁中加入<%@ page isELIgnored="false"%>,然后每個頁面引入公共頁。問題解決了。
posted on 2012-11-13 11:04 youngturk 閱讀(4446) 評論(1) 編輯 收藏 所屬分類: JavaScript 、JSP隨筆 、struts2 、servlet 、EL表達式