<?xml version="1.0" encoding="UTF-8"?>
<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">
遇上了解析不到EL表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下:
问题就出在建Web Project的时候web.xml声明上。
web.xml声明部分一般分为如下版本的xsd,
web-app_2_2.xsd
web-app_2_3.xsd
web-app_2_4.xsd
web-app_2_5.xsd
更详细的列出各版本web.xml声明部分吧,如下:
web-app_2_2.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">
web-app_2_3.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!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_4.xsd
<?xml version="1.0" encoding="UTF-8"?>
<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-app_2_5.xsd
<?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">
确定web.xml里的xsd版本之后一定要在JSP的声明(<%@page %>)部分加一行,如下:
<%@ page isELIgnored="false" %>
这样设为false才能解析EL表达式。
经过各版本的test之后....
注意!! 其中servlets 2.4(我没记错的话JSP 2.0出来之后的第一个版本),这个版本的isELIgnored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在JSP页面不用特意声明。
分享到:
相关推荐
EL 表达式的使用详解 EL 表达式是一种在 Java 服务器页面(JSP)中使用的表达式语言。它提供了一种简单的方式来访问和操作 Java 对象的属性。EL 表达式广泛应用于 JSP、Servlet、JSF 等 Web 开发技术中。本文将详细...
当解析成一个取值表达式时,eval-expression 能被计算成左值和右值。若在 EL 中有等号操作符号出现,右值是类型出现在等号的右边的表达式,左值同理。 例如:${customer.name}"/> 1.1.1.1 作为取值表达式的计算...
需要注意的是,JSP 2.0规范中,默认设置isELIgnored为"false",以支持EL表达式解析。但到了Java EE 5,默认设置可能会改变。 通过上述方法,可以有效解决EL表达式被错误地作为字符串处理的问题。但同时,了解EL...
**EL表达式(Expression Language)**是Java服务器页面(JSP)技术中的一个重要组成部分,它提供了一种简洁而强大的方式来访问和操作数据,如JavaBeans属性、JSP作用域中的对象等。EL表达式的设计目标是简化JSP页面的...
通过以上步骤,大多数EL表达式不起作用的问题应该能得到解决。在调试过程中,利用日志记录和断点调试工具可以帮助定位问题的具体原因。如果问题依然存在,可能需要进一步深入分析项目结构和依赖关系,以找出隐藏的...
在进行Java Web项目的开发时,特别是在使用Maven的情况下,了解不同Web规范下的EL表达式解析规则至关重要。通过本文的分析与解决方案,我们可以更好地理解如何解决EL表达式未被解析的问题,避免类似错误的发生。同时...
总的来说,JSTL和EL表达式是JSP开发中不可或缺的部分,它们提供了更加优雅的代码组织方式,降低了维护成本,并提高了开发效率。通过理解并熟练运用这两个工具,开发者能够更好地构建健壮且易于维护的Web应用程序。
EL表达式会被解析为Java对象,然后在服务器端执行。 **三、EL的变量引用** EL支持对JSP作用域内的对象进行引用,包括page、request、session和application。例如,`${requestScope.var}`表示从请求作用域中获取名...
- EL表达式中的数据操作仅限于读取,不能进行赋值等写操作。 EL表达式已经成为Java Web开发中处理数据存取的重要工具,特别是在使用JSP和JSF技术时。熟悉EL表达式的使用可以显著提高Web应用开发的效率和可读性。
`FunctionMapper`接口定义了一个`resolveFunction`方法,该方法会在解析EL表达式时被调用,用于映射函数名到实际的Java方法。 下面是一个创建自定义EL表达式的步骤概述: 1. 创建`FunctionMapper`实现类:你需要...
### EL表达式语言详解 #### 一、引言 EL表达式语言,即Expression Language,是一种简化了在JSP页面中获取对象属性的过程的语言。它主要用于处理数据模型,并且能够直接从模型中读取属性值,无需编写额外的Java...
EL表达式通常在`${}`中书写,比如`${user.name}`用来获取名为`user`的对象的`name`属性。 **JSTL中的核心标签库(Core Tags)**包括用于控制流程、输出、URL处理、条件判断和迭代的标签。例如: - `<c:if>`用于条件...
EL表达式是Java服务器页面(JSP)中的一种简洁的表达式语言,用于简化页面中的数据访问和逻辑操作。它允许开发者在JSP中以简洁的方式获取和操作数据,避免了过多的Java脚本代码,提升了代码的可读性和维护性。 1. ...
JS 中如何引用 EL 表达式 在 Java Web 开发中,EL(Expression Language)表达式是一种 powerful 的表达式语言,用于在 JSP 页面中访问和操作 JavaBean 的属性。然而,在 JavaScript 中引用 EL 表达式却存在一些...
当`isELIgnored="false"`时,EL表达式会被解析执行;反之,如果设置为`true`,则EL表达式将被忽略。 5. **EL运算符** - `empty`:检查值是否为空或为`null`。 - `+`、`-`、`*`、`/`、`%`:常规的数学运算符。 - ...
JSF组件的属性可以直接绑定到EL表达式,如`value="#{bean.property}"`,这样组件的值就能自动与后台bean的属性同步。 总的来说,EL表达式是Java EE Web开发中的强大工具,它简化了数据访问和处理,使得开发者可以更...
EL(Expression Language,表达式语言)是Java EE...这些文档应该涵盖了EL表达式的详细语法、常见问题和实例解析,帮助你成为EL表达式使用的专家。学习并熟练掌握EL表达式,对于提升JSP开发的效率和代码质量至关重要。
**JSP EL表达式详解** JavaServer Pages (JSP) Expression Language(EL)是JSP 2.0及更高版本中引入的一种轻量级、简洁的脚本语言,用于简化在JSP页面中访问JavaBean属性和其他Java对象的流程。EL表达式主要用于...
EL(Expression Language)表达式是JavaServer Pages (JSP) 2.0及更高版本中的一个强大特性...这个压缩包提供的jar文件是确保EL正常工作不可或缺的依赖,确保将它们正确地集成到你的项目中,你就能享受到EL带来的便利。