一、问题描述
IDEA创建SpringMVC工程,在jsp文件中EL表达式取不到值,直接将EL表达式打印了出来。
二、 原因
Intellij Idea 在创建Maven工程时选择的webapp框架时自动导入的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_2_3版本,会默认设置 <% page isELIgnored="true" %>, 即忽略EL表达式,故而会不解析EL表达式,而直接打印出来。
三、解决
1. 方法1
将文件头修改为
<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_3_1.xsd"
id = "WebApp_ID"
version = "3.1">
2. 方法2
在jsp文件的最上面添加一行(只会修改这一个jsp文件)
<%@ page isELIgnored="false"%>