今天也碰到el表达式无法解析的事情,于是在网上查询了下,盗取了一篇,说的挺详细的!
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">
<?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">
<?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">
<?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">
<?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表达式问题时,可以通过调整web.xml文件中的JSP版本配置或在JSP页面中调整page directive指令来解决。同时,了解EL表达式在不同Java EE版本中的行为差异以及它们提供的新特性,有助于在实际...
EL 表达式是一种在 Java 服务器页面(JSP)中使用的表达式语言。它提供了一种简单的方式来访问和操作 Java 对象的属性。EL 表达式广泛应用于 JSP、Servlet、JSF 等 Web 开发技术中。本文将详细介绍 EL 表达式的使用...
EL表达式通常以`${}`包裹,用于在JSP页面中动态地计算和输出值。例如, `${user.name}` 将输出名为`user`的JavaBean的`name`属性值。EL支持基本的算术运算、逻辑运算以及对集合的遍历。 **2. EL的作用域** EL支持...
EL 表达式是 Java 服务器页面(JSP)和 Java 服务器面板(JSF)中使用的一种表达式语言,用于在 Web 应用程序中实现动态内容。EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于引用一个值,而方法...
通过阅读《EL表达式全解语法中文技术文档》(如JSP2.0EL.pdf),你可以深入了解EL的每个方面,并熟练运用到实际开发中,解决与EL相关的各种问题,提升JSP应用的开发效率和质量。这份文档详尽地涵盖了EL的全部语法,...
总结来说,EL表达式在JSP中无法解析的问题可能由于多种原因造成,包括但不限于web.xml中的版本声明不支持EL表达式、JSP页面中EL表达式被忽略、JSP容器版本差异等。解决这类问题,需要综合考虑这些因素,并逐一排查和...
EL(Expression Language,表达式语言)是JSTL(JavaServer Pages Standard Tag Library)中用于输出和输入Java表达式的一种语言。...通过熟练掌握EL表达式,开发者能够更高效地处理JSP页面中的数据逻辑。
然而,如果我们将 JavaScript 文件改为 JSP 文件,并在 JSP 文件中引入 EL 表达式,那么就会出现乱码问题。这是因为 JSP 文件的 charset 编码默认是 ISO-8859-1,而 JavaScript 文件的 charset 编码默认是 UTF-8。...
**JSTL与EL的协同工作**:在JSP页面中,EL表达式通常与JSTL标签一起使用,EL负责数据的获取和计算,而JSTL标签则负责页面的逻辑控制。例如,使用EL表达式和`<c:if>`标签可以实现简单的条件判断: ```jsp ${user != ...
然而,在转换过程中遇到了一个问题:JSP页面中的EL表达式没有被正确解析,而是原样输出。这显然是不正常的。 #### 三、问题定位与分析 经过排查,问题的根源在于Maven项目默认使用了Web 2.3规范。而在该规范下,EL...
本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...
总的来说,JSTL和EL表达式是JSP开发中不可或缺的部分,它们提供了更加优雅的代码组织方式,降低了维护成本,并提高了开发效率。通过理解并熟练运用这两个工具,开发者能够更好地构建健壮且易于维护的Web应用程序。
EL表达式在JSP 2.0及更高版本中默认启用。如果你的JSP页面使用的是旧版DOCTYPE,如`; charset=UTF-8" pageEncoding="UTF-8"%>`,可能会导致EL表达式被忽略。确保DOCTYPE声明为`<!DOCTYPE html>`, 或者在JSP中添加`...
EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作和计算。EL 表达式的使用可以提高 JSP 页面的开发...
### jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法 #### 背景介绍 在Java Web开发中,JSP(JavaServer Pages)是一种广泛使用的服务器端技术,用于创建动态网页。EL(Expression Language)是JSP 2.0...
在提供的资源“ELExpression”中,可能包含了以下6个JSP EL表达式的基础实践案例: 1. **基础变量输出**:展示如何直接输出一个简单的变量值,如`${message}`。 2. **JavaBean属性访问**:通过`${user.name}`展示...
- 在EL表达式中,不能使用对象的实例方法。 - EL表达式中的数据操作仅限于读取,不能进行赋值等写操作。 EL表达式已经成为Java Web开发中处理数据存取的重要工具,特别是在使用JSP和JSF技术时。熟悉EL表达式的使用...
**EL表达式(Expression Language)**是Java服务器页面(JSP)技术中的一个重要组成部分,它提供了一种简洁而强大的方式来访问和操作数据,如JavaBeans属性、JSP作用域中的对象等。EL表达式的设计目标是简化JSP页面的...
EL表达式的禁用并不意味着完全不能访问数据,开发者仍然可以使用传统的JSP脚本let和JSTL标签库来完成数据的处理和显示。JSTL(JavaServer Pages Standard Tag Library)提供了一系列标签,可以代替EL执行类似的功能...
EL表达式语言在JSTL(JSP Standard Tag Library)的1.0版本中被首次引入,并在1.1版本中得到了进一步的优化。EL表达式语言与JSTL标签库结合使用,极大地提升了JSP页面的灵活性和效率。 #### 二、JSTL概述 JSTL是...