问题描述
在jsp页面中使用El表达式时,页面直接输出如下格式:
原因分析:
Servlet2.3默认是不支持EL表达式的,查看web-app_2_3.dtd的版本,2.3以前默认isELIgnored属性为true,即<xsd:attribute name = “isELIgnored” default = “true” type = “Bool”/>。
只有Servlet2.4及以上版本才支持EL表达式。
解决方法:
- 第一种:在需要使用el表达式的页面加上指令<%@ page isELIgnored=“false” %>
- 第二种:将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" >
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>