`
dishell
  • 浏览: 68789 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

EL 无法解析(原样输出EL)解决办法

阅读更多
JSP页面EL表达式无效的问题2008-01-20 16:44以前用WSAD wizard做的,都可以在JSP页面中解析到EL表达式,当然前提是JSP2.0的情况下。
今天遇到了一个莫名其妙的问题。刚下载Eclipse3.3+MyEclipse6.0体验的过程中,遇上了解析不到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页面不用特意声明。

下面是官方Documention中isELIgnored Attribute的详解:
The isELIgnored Attribute 
• Format 
– <%@ page isELIgnored="false" %> 
– <%@ page isELIgnored="true" %> 
Purpose 
– To control whether the JSP 2.0 Expression Language 
(EL) is ignored (true) or evaluated normally (false). 
• Notes 
– If your web.xml specifies servlets 2.3 (corresponding to 
JSP 1.2) or earlier, the default is true 
• But it is still legal to change the default—you are permitted 
to use this attribute in a JSP-2.0-compliant server 
regardless of the web.xml version. 
– If your web.xml specifies servlets 2.4 (corresponding to 
JSP 2.0) or earlier, the default is false 
分享到:
评论

相关推荐

    maven项目中的EL表达式问题

    然而,在转换过程中遇到了一个问题:JSP页面中的EL表达式没有被正确解析,而是原样输出。这显然是不正常的。 #### 三、问题定位与分析 经过排查,问题的根源在于Maven项目默认使用了Web 2.3规范。而在该规范下,EL...

    EL语言经典介绍

    在这种情况下,EL表达式会被依次计算,并将结果转换为字符串,然后按照原样输出。 3. **仅包含文本的属性值**: ```jsp !" /&gt; ``` 此时,属性值将保持不变地输出。 ##### EL语言的操作符 EL语言支持多种操作...

    jsp页面中表达式语言中的$符号不起作用的解决方法

    然而,有时候在尝试使用这种语法时,可能会遇到$符号不起作用的情况,即EL表达式未被正确解析,而是原样显示在页面上。 这个问题通常是由于以下几个原因造成的: 1. **Servlet规范版本不匹配**:JSP EL是与Servlet...

    RTL8103百兆网卡说明书

    根据给定的文件信息,以下是对RTL8103百兆网卡的相关知识点的详细解析: ### 一、RTL8103百兆网卡概述 RTL8103系列网卡是由Realtek Semiconductor Corp.制造的一款高性能集成式快速以太网控制器,适用于PCI ...

    ewebEditor图片的读取.doc

    `${clubIntro.content}`这种方式可以原样输出`clubIntro`对象的`content`属性,不会进行HTML转义,因此适合用于输出EwebEditor生成的富文本内容。 为了正确显示EwebEditor中的图片,你需要确保图片URL在服务器端...

    JSP2.0 语法卡片

    本语法卡片将详细解析JSP 2.0的关键语法元素,帮助开发者更好地理解和运用这一强大的动态网页技术。 ### 1. 模板文本与动作指令 - **模板文本**:默认情况下,JSP页面中的HTML被视为模板文本,会被原样输出到...

    从textarea中获取数据之后按原样显示实现代码

    在JSP页面中,可以使用EL表达式(例如`从数据库显示的字段%&gt;`)来输出从数据库获取的字段值。将此表达式包裹在`&lt;pre&gt;`标签内,以保持文本的原始格式。 代码示例: ```html 从数据库显示的字段%&gt; ``` 步骤2:...

    jsp高级编程 (pdf)

    1. **模板文本**:JSP页面可以包含静态HTML或其他类型的模板文本,这些文本在页面被请求时原样输出到浏览器。 2. **脚本元素**:JSP支持在页面中直接编写Java代码,包括脚本声明、脚本表达式和脚本块。这些元素允许...

    jsp2.0技术手册

    以下是对JSP 2.0核心知识点的详细解析: ### 1. JSP页面结构 JSP页面由HTML或XML标记、脚本元素(scriptlets)、声明(declarations)、表达式(expressions)和指令(directives)组成。JSP 2.0引入了EL...

    formatter的用法

    #### 四、代码解析 1. **字段定义**:`field`属性指定了数据源中的对应字段名;`title`定义了列标题;`width`设定了列宽;`hidden`表示该列是否隐藏。 2. **Formatter实现**:关键在于`formatter`函数的定义。这里...

    HTML的TextArea中保存格式问题解决方法

    标题所提及的问题是关于`&lt;textarea&gt;`中保存的文本格式在显示时无法正确呈现,主要原因是换行符`\n`在HTML中不会被解析为新的行。 在HTML中,如果希望保留用户的格式(如换行),通常需要对输入进行适当的处理。描述...

    AIX维护手册

    ### AIX系统维护手册核心知识点解析 #### 一、系统命令与系统状态检查 AIX维护手册中的系统命令部分提供了全面的系统管理指令,对于理解系统状态至关重要。以下是一些关键命令及其功能: 1. **检查系统状态**: ...

    vue.js使用v-pre与v-html输出HTML操作示例

    例如,在以下代码中,`&lt;span v-pre&gt;{{ 这里的内容不会被编译 }}&lt;/span&gt;` 中的 `{{ 这里的内容不会被编译 }}` 将会原样显示,而不是被 Vue.js 替换为相应的数据绑定值: ```html &lt;span v-pre&gt;{{ 这里的内容不会被...

    jap小资料

    - **Servlet-JSP转换**:JSP中的所有动态内容(如脚本元素)都会被转换为Servlet的方法,而静态内容则保留原样。 3. **JSP内置对象** - **request**:代表HTTP请求,用于获取请求参数和头部信息。 - **response*...

    jsp仿google搜索

    4. 结果展示:查询结果可以被转化为HTML格式,然后用`out.println()`或EL(Expression Language)表达式输出到页面上。 三、拼音与汉字搜索 1. 拼音库:为了实现拼音搜索,项目可能使用了第三方的拼音库,如Pinyin...

    Vue.JS入门教程之自定义指令

    Vue会将字符串值原样输出,不会进行解析处理。 动态字面指令的用法与字面指令类似,但可以绑定动态的数据,这样就能够在模板中根据变量的实时变化来更新元素。 双向指令在Vue.js中的实现通常涉及到了v-model指令,...

    Vue05.pdf

    8. **v-pre**:跳过指令解析,原样显示代码,避免{{}}被渲染。 9. **v-once**:一次性渲染,后续即使数据变化也不会更新对应的DOM元素。 10. **key**:在使用`v-for`遍历数组时,`key`属性提供了唯一标识,有助于...

    ARMv8-A,A64指令集,arm官方手册

    综上所述,"ARMv8-A,A64指令集,arm官方手册"是开发和优化基于ARMv8-A架构应用程序的重要参考资料,它深入解析了A64指令集的各个方面,对于软件工程师、系统设计师以及嵌入式系统的开发者来说是不可或缺的工具。

    WDI-1003-Directives:使用自定义Angular指令进行练习

    Angular解析这些自定义指令,执行相应的操作,如数据绑定、DOM操作、事件处理等。 二、自定义指令类型 Angular中的自定义指令主要有以下三种类型: 1. **Component**(组件):是最常见的自定义指令形式,包含模板...

Global site tag (gtag.js) - Google Analytics