在預設情況下“Servlet 2.4/JSP2.0”版本的jsp支援el,而“Servlet2.3/1.2”是不支援EL表達式的,“servlets 2.4”這個版本的“isELIgnored”預設為“false”,“servlets 2.5”預設不支援。
在JSP2.0中,增加了EL語言,可以透過EL語言,可以透過EL語言,實現取得資料,進一步將scriptlet程式碼從JSP頁面中分離出來.
EL語言給大家帶來了方便,但有時,也會遇到EL表達式不能顯示的情況,下面,我將列舉幾種EL表達式不能顯示的情況及解決方案:
1.WEB-INF/web.xml,web應用的部署描述檔引用的是servlet規範的2.3版本或更早的版本(即jsp1.2
或更早),則jsp2.0表達式語言自動在web應用中停用,注意裡面的version屬性應為2.4以上版本.
如果是2.3版本,則xml指令和文檔類型定義如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
如果是2.4版本,則是:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
2.web.xml中,是否停用了jsp表達式語言
<jsp-config> <jsp-property-group> <url-pattern>/legacy/*.jsp</url-pattern> <el-ignored>true</el-ignored> </jsp-property-group> </jsp-config>
這種情況的解決方法就是把
3.頁面停用jsp表達式語言
<%@ page isELEnabled ="false"%>
解決方法:改為< ;%@ page isELEnabled ="true"%>
2.4版本預設支援el表達式,如果使用2.5版本,預設el表達式是關閉的,而且上面的<%@ page isELEnabled =" true"%>不能用了。
那麼jsp頁面裡應該增加<%@ page isELIgnored="false"%>
以上是什麼版本的jsp支援el表達式的詳細內容。更多資訊請關注PHP中文網其他相關文章!