我在页面上直接使用el表达式,总是按照原样输出,例如:${1+1},输入的样子还是${1+1},并不是2,网上搜了搜,说了一堆导包的问题,最后发现原因是版本的问题:
确定用的Servlet / JSP的版本。
查看web.xml的开头部分,如果有以下内容,表示是Servlet 2.4 / JSP 2.0。
<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">
如果有以下内容,表示是Servlet 2.3 / JSP 1.2。
<!--CTYPE web-app PUBLIC </sp-->
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。
如果是在Servlet 2.3 / JSP 1.2下,将JSP页面的开头添加如下一句代码即可。
<%@ page isELIgnored="false" %>
或者,在WEB.XML中加入
<jsp-config>
</jsp-config>
对于后一种在web.xml中加入的方法,我没有试验成功,不过第一种,在页面中加入的方法测试成功了!
el表达式原样输出问题
最新推荐文章于 2024-02-04 08:40:13 发布
本文探讨了在Servlet2.3/JSP1.2版本下EL表达式无法正常解析的原因,并提供了将EL表达式支持添加到JSP页面的方法,包括在页面头部添加特定代码或在web.xml文件中配置,以解决EL表达式按照原样输出而非实际计算结果的问题。
摘要由CSDN通过智能技术生成