在 JSP2.0 中,增加了 EL 语言,可以通过 EL 语言,可以通过 EL 语言,实现获取数据,进一步将 scriptlet 代码从 JSP 页面中分离出来。
EL 语言给大家带来了方便,但有时,也会遇到 EL 表达式不能显示的情况,下面将列举几种 EL 表达式不能显示的情况及解决方案:
web.xml 中 Servlet 版本问题造成
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="ISO-8859-1"?>
<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">
web.xml 中停用了 jsp 表达式语言
<jsp-config>
<jsp-property-group>
<url-pattern>/legacy/*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>
这种情况的解决方法就是把 <el-ignored>true</el-ignored>
改为 <el-ignored>false</el-ignored>
.
页面停用 jsp 表达式语言
<%@ page isELEnabled ="false"%>
解决方法:改为 <%@ page isELEnabled ="true"%>
2.4 版本默认支持 el 表达式,如果使用 2.5 版本,默认 el 表达式是关闭的,而且上面的 <%@ page isELEnabled ="true"%>
不能用了。
那么 jsp 页面里应该增加 <%@ page isELIgnored="false"%>
。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于