在默认情况下“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中文网其他相关文章!