如果遇到el表达式不生效(原样输出问题不被解析)问题,比如${yanggb}被原样输出成字符串,通常的原因是servlet3.0默认关闭了el表达式的解析,因此jsp页面忽视了el标签,要加入不忽略el表达式的page指令才行。
<%@ page isELIgnored="false" %>
注:EL表达式是不需要引入包的,tomcat自带servlet的包。
拓展
1.如果JSP中无法自动提示EL表达式的解决方法,在maven的pom.xml中加入如下代码。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
2.如果JSP中EL表达式不起作用,原样输出,除了最上面的解决方案外,可以更改web.xml的web-app标签中的命名空间来解决。
<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"
version="3.1">
</web-app>
另外还需要在web.xml中配置jsp-config标签。
<jsp-config>
<jsp-property-group>
<url-pattern>/jsp/* </url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>