Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30467335
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2008-12-18 10:15:00

以前用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
Java代码
  1. "1.0" encoding="UTF-8"?>   
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "">  
  1. "1.0" encoding="UTF-8"?>   
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "">  

web-app_2_3.xsd
Java代码
  1. "1.0" encoding="UTF-8"?>   
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "">  
  1. "1.0" encoding="UTF-8"?>   
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "">  

web-app_2_4.xsd
Java代码
  1. "1.0" encoding="UTF-8"?>   
  2. "" xmlns:xsi="" version="2.4" xsi:schemaLocation="    /web-app_2_4.xsd">  
  1. "1.0" encoding="UTF-8"?>   
  2. "" xmlns:xsi="" version="2.4" xsi:schemaLocation="   /web-app_2_4.xsd">  

web-app_2_5.xsd
Java代码
  1. "1.0" encoding="UTF-8"?>   
  2. "" xmlns:xsi="" version="2.5" xsi:schemaLocation="    /web-app_2_5.xsd">  
  1. "1.0" encoding="UTF-8"?>   
  2. "" xmlns:xsi="" version="2.5" xsi:schemaLocation="   /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
阅读(2451) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~