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
分享到:
相关推荐
然而,在转换过程中遇到了一个问题:JSP页面中的EL表达式没有被正确解析,而是原样输出。这显然是不正常的。 #### 三、问题定位与分析 经过排查,问题的根源在于Maven项目默认使用了Web 2.3规范。而在该规范下,EL...
在这种情况下,EL表达式会被依次计算,并将结果转换为字符串,然后按照原样输出。 3. **仅包含文本的属性值**: ```jsp !" /> ``` 此时,属性值将保持不变地输出。 ##### EL语言的操作符 EL语言支持多种操作...
然而,有时候在尝试使用这种语法时,可能会遇到$符号不起作用的情况,即EL表达式未被正确解析,而是原样显示在页面上。 这个问题通常是由于以下几个原因造成的: 1. **Servlet规范版本不匹配**:JSP EL是与Servlet...
根据给定的文件信息,以下是对RTL8103百兆网卡的相关知识点的详细解析: ### 一、RTL8103百兆网卡概述 RTL8103系列网卡是由Realtek Semiconductor Corp.制造的一款高性能集成式快速以太网控制器,适用于PCI ...
`${clubIntro.content}`这种方式可以原样输出`clubIntro`对象的`content`属性,不会进行HTML转义,因此适合用于输出EwebEditor生成的富文本内容。 为了正确显示EwebEditor中的图片,你需要确保图片URL在服务器端...
本语法卡片将详细解析JSP 2.0的关键语法元素,帮助开发者更好地理解和运用这一强大的动态网页技术。 ### 1. 模板文本与动作指令 - **模板文本**:默认情况下,JSP页面中的HTML被视为模板文本,会被原样输出到...
在JSP页面中,可以使用EL表达式(例如`从数据库显示的字段%>`)来输出从数据库获取的字段值。将此表达式包裹在`<pre>`标签内,以保持文本的原始格式。 代码示例: ```html 从数据库显示的字段%> ``` 步骤2:...
1. **模板文本**:JSP页面可以包含静态HTML或其他类型的模板文本,这些文本在页面被请求时原样输出到浏览器。 2. **脚本元素**:JSP支持在页面中直接编写Java代码,包括脚本声明、脚本表达式和脚本块。这些元素允许...
以下是对JSP 2.0核心知识点的详细解析: ### 1. JSP页面结构 JSP页面由HTML或XML标记、脚本元素(scriptlets)、声明(declarations)、表达式(expressions)和指令(directives)组成。JSP 2.0引入了EL...
#### 四、代码解析 1. **字段定义**:`field`属性指定了数据源中的对应字段名;`title`定义了列标题;`width`设定了列宽;`hidden`表示该列是否隐藏。 2. **Formatter实现**:关键在于`formatter`函数的定义。这里...
标题所提及的问题是关于`<textarea>`中保存的文本格式在显示时无法正确呈现,主要原因是换行符`\n`在HTML中不会被解析为新的行。 在HTML中,如果希望保留用户的格式(如换行),通常需要对输入进行适当的处理。描述...
### AIX系统维护手册核心知识点解析 #### 一、系统命令与系统状态检查 AIX维护手册中的系统命令部分提供了全面的系统管理指令,对于理解系统状态至关重要。以下是一些关键命令及其功能: 1. **检查系统状态**: ...
例如,在以下代码中,`<span v-pre>{{ 这里的内容不会被编译 }}</span>` 中的 `{{ 这里的内容不会被编译 }}` 将会原样显示,而不是被 Vue.js 替换为相应的数据绑定值: ```html <span v-pre>{{ 这里的内容不会被...
- **Servlet-JSP转换**:JSP中的所有动态内容(如脚本元素)都会被转换为Servlet的方法,而静态内容则保留原样。 3. **JSP内置对象** - **request**:代表HTTP请求,用于获取请求参数和头部信息。 - **response*...
4. 结果展示:查询结果可以被转化为HTML格式,然后用`out.println()`或EL(Expression Language)表达式输出到页面上。 三、拼音与汉字搜索 1. 拼音库:为了实现拼音搜索,项目可能使用了第三方的拼音库,如Pinyin...
Vue会将字符串值原样输出,不会进行解析处理。 动态字面指令的用法与字面指令类似,但可以绑定动态的数据,这样就能够在模板中根据变量的实时变化来更新元素。 双向指令在Vue.js中的实现通常涉及到了v-model指令,...
8. **v-pre**:跳过指令解析,原样显示代码,避免{{}}被渲染。 9. **v-once**:一次性渲染,后续即使数据变化也不会更新对应的DOM元素。 10. **key**:在使用`v-for`遍历数组时,`key`属性提供了唯一标识,有助于...
综上所述,"ARMv8-A,A64指令集,arm官方手册"是开发和优化基于ARMv8-A架构应用程序的重要参考资料,它深入解析了A64指令集的各个方面,对于软件工程师、系统设计师以及嵌入式系统的开发者来说是不可或缺的工具。
Angular解析这些自定义指令,执行相应的操作,如数据绑定、DOM操作、事件处理等。 二、自定义指令类型 Angular中的自定义指令主要有以下三种类型: 1. **Component**(组件):是最常见的自定义指令形式,包含模板...