EL表达式失效(Maven骨架创建的web)

EL表达式的失效问题

查阅资料发现

Servlet 2.3 / JSP 1.2默认是不支持EL表达式的,而Servlet 2.4 / JSP 2.0或更高版本支持

而通过webapp骨架创建的web工程中的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" >

这显然是Sevlet2.3/JSP1.2的版本,默认是不开启EL表达式的

因此,有两种解决办法

方法一

为每个jsp页面都开启EL表达式

在头部添加如下代码

<%@ page isELIgnored="false" %> 

方法二(推荐)

修改web.xml的头部信息,使用Servlet 2.4 / JSP 2.0或更高版本

2.4版本

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
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">

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"
         version="2.5">

猜你喜欢

转载自blog.csdn.net/ren9436/article/details/108434436
今日推荐