天天看点

解决jsp开发中不支持EL问题

今天遇到了一个莫名其妙的问题,就是在使用myeclipse5.5或6.0时遇上了解析不到el表达式的问题。经过好几个小时的琢磨终于发现了,给大家share一下:

问题就出在建web project的时候web.xml声明上。

web.xml声明部分一般分为如下版本的xsd,

web-app_2_2.dtd

web-app_2_3.dtd

web-app_2_4.xsd

web-app_2_5.xsd

更详细的列出各版本web.xml声明部分吧,如下:

<?xml version="1.0" encoding="utf-8"?>  

<!doctype web-app public "-//sun microsystems, inc.//dtd web application 2.2//en"

web-app_2_3.xsd

<!doctype web-app public "-//sun microsystems, inc.//dtd web application 2.3//en"

注意!! 其中servlets 2.4(我没记错的话jsp 2.0出来之后的第一个版本),这个版本的iselignored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在jsp页面不用特意声明。 servlets 2.4el可以直接使用。

而其它的不行必须手工申明.

<%@ page iselignored="false" %>

或者

设置整个项目使用el表达式,需要在web.xml中加上 (控制一个项目)

<jsp-config>

<jsp-property-group>

<el-ignored>false</el-ignored>

</jsp-property-group>

</jsp-config>

这样设为false才能解析el表达式。

还用一个最简单的解决方法是,直接在web.xml中将servlets 2.4xsd的引用替换你现在的。即用以下引用替换.