tomcat5.5的版本。
web.xml
<?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"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
对于tomcat5,2.4版本默认启用el表达式,如果使用2.5版本及以上,默认el表达式是关闭的(注意,这里特地说明了是对于tomcat5,对于tomcat6及以上版本,web.xml只要是配置2.4及以上版本的的,默认都是启用el表达式的)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
那么对应2.5的web.xml --> jsp页面里应该增加<%@ page isELIgnored="false"%>
一句话,凡是部署描述文件遵循Servlet2.4规范的WEB应用,EL表达式的计算默认是启用的,而未遵循的,则EL表达式的计算默认是禁用的。
所以解决方案还可以是:将web.xml中的DTD(文档类型定义)改为2.4的版本
或者
对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为isELIgnored=true;
<%@ page isELIgnored="true|false"%>
对于整个JSP应用程序,要修改WEB.XML配置(tomcat5.0.16默认是支持EL的);
<jsp-property-group>
<description> For config the ICW sample application </description>
<display-name>JSPConfiguration</display-name>
<url-pattern>/jsp/datareset.jsp</url-pattern>
<el-ignored>false< / el-ignored>
<page-encoding>ISO-8859-1</page-encoding>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/prelude.jspf</include-prelude>
<include-coda>/jsp/coda.jspf</include-coda>
</jsp-property-group>
后记:实际上对于jboss4(tomcat5),即使在web.xml中配置了以上信息也是不管用的,不知道什么原因,可能是因为tomcat5只支持servlet2.4,不支持2.5以上,没有仔细追踪下去,所以只能修改WEB.XML至2.4或者每个jsp页面都添加<%@ page isELIgnored="false"%>,再或者就是升级tomcat至6及以上,以下记录别人总结的el表达式不管用的原因:
In other words, the EL expression doesn't get evaluated at all and is showing as plain text? That can have one or more of the following causes:
- Application server in question doesn't support JSP 2.0.
- The
web.xml
is not declared as Servlet 2.4 or higher. - The
<%@page %>
of JSP is configured withisELIgnored=true
. - The
web.xml
is configured with<el-ignored>true</el-ignored>
in<jsp-config>
.
web.xml
as Servlet 2.4 so that it will work in both Tomcat 5.5 and 6.0.
相关推荐
通过以上步骤,大多数EL表达式不起作用的问题应该能得到解决。在调试过程中,利用日志记录和断点调试工具可以帮助定位问题的具体原因。如果问题依然存在,可能需要进一步深入分析项目结构和依赖关系,以找出隐藏的...
EL 表达式的作用域是指 EL 表达式可以访问的范围。EL 表达式可以访问以下几个范围的对象: * pageScope:当前页面的作用域,访问当前页面的变量和对象。 * requestScope:当前请求的作用域,访问当前请求的参数和...
EL表达式是JSP技术中不可或缺的一部分,它简化了前端页面与后端数据的交互过程。通过本文的介绍,你应该能够更深入地理解EL表达式的用法以及如何利用这些特性来提高Web应用的开发效率。在未来的学习和实践中,希望你...
如果遇到EL表达式不起作用的情况,应检查是否有人在上述三个位置设置了禁用EL的配置。同时,确保正确地在适当的作用域中设置和检索变量,以防止因作用域问题导致的错误。 总之,EL表达式在Web开发中提供了强大的...
EL 表达式的主要作用是获得四大域中的数据,即 pageContext、request、session 和 application 四个域中的数据。EL 表达式的格式为 ${EL 表达式},其中 EL 表达式可以是任何有效的 Java 表达式。 EL 表达式可以获得...
eval-expression 是使用 ${expr} 或者 #{expr} 结构的形式构成,literal-expression 是不使用 ${expr} 或者 #{expr} 结构的形式构成,而 Composite expressions 是多个 EL 表达式的聚合。 1.1.1 Eval-expression ...
当EL表达式被错误地当作字符串处理而不是被解析时,会导致其原本要展示的数据无法正确显示。这个问题在使用Java EE 5及以上版本时比较常见。 要解决这个问题,首先需要理解EL表达式的解析与web.xml配置文件中指定的...
EL表达式主要用于简化JSP页面中的代码,提高可读性和可维护性。 **EL表达式的基本语法** EL表达式通常以"$"或 "#{}" 开头,如 `${expression}` 或 `#{expression}`。这里的`expression`是一个变量或方法调用,它...
### EL表达式详解 #### 一、EL表达式的概述与基本使用 EL(Expression Language),即表达式语言,是JavaServer Pages (JSP) 2.0标准的一部分,用于简化JSP页面中对数据访问的操作。它允许开发者通过简单的语法在...
默认情况下,如果Web应用的`web.xml`配置文件遵循Servlet 2.3(对应JSP 1.2)或更早版本,`isELIgnored`可能会被设置为`true`,导致EL表达式不被执行。在IDEA中,如果你的项目配置或依赖管理出现了问题,也可能出现...
总的来说,JSTL和EL表达式是JSP开发中不可或缺的部分,它们提供了更加优雅的代码组织方式,降低了维护成本,并提高了开发效率。通过理解并熟练运用这两个工具,开发者能够更好地构建健壮且易于维护的Web应用程序。
**EL表达式** EL(Expression Language)表达式是Java服务器页面(JSP)2.0及更高版本中引入的一种轻量级、强大的脚本语言,主要用于简化Java Web应用程序中的数据访问。它允许开发者在JSP页面中直接访问JavaBean...
当使用EL表达式时,如果某个变量没有在当前作用域中定义,则EL会依次向上搜索更高层次的作用域,直到找到为止。如果没有找到,则返回`null`。 #### 三、EL表达式的特性与功能 - **启用或禁用EL**:可以通过`...
1. 访问变量:EL 表达式可以访问 JSP 页面中的变量,包括 page、request、session 和 application 等四个作用域中的变量。 例如:${user.name} 访问 user 对象的 name 属性 2. 进行逻辑操作:EL 表达式可以进行...
EL表达式在JSP中扮演着重要角色,它提供了一种简洁的方式来获取和操作JavaBean属性,以及与Java Servlets和JSP作用域对象进行交互。 **二、EL表达式的结构** EL表达式通常以`$`符号开头,后跟大括号`{}`,如`${...
本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...
EL表达式的主要目标是提高JSP页面的可读性和可维护性,减少脚本代码的数量。 ### EL表达式的基本语法 EL表达式通常以`$`符号开头,后跟大括号`{}`,如`${expression}`。表达式可以是简单的属性引用,也可以包含...
EL表达式通常在`${}`中书写,比如`${user.name}`用来获取名为`user`的对象的`name`属性。 **JSTL中的核心标签库(Core Tags)**包括用于控制流程、输出、URL处理、条件判断和迭代的标签。例如: - `<c:if>`用于条件...