解决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声明部分吧,如下:
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"> 

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"> 

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

而其它的不行必须手工申明.
确定web.xml里的xsd版本之后(如果不是servlets 2.4)一定要在JSP的声明(<%@page %>)部分加一行,如下:
<%@ 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的引用替换你现在的。即用以下引用替换.
<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">

时间: 2024-11-02 06:17:02

解决jsp开发中不支持EL问题的相关文章

解决JSP开发中Web程序显示中文三种方法_JSP编程

方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插入数据库的数据都是?号.这也是应为to

请问在jsp开发中使用的mysql server数据库服务器

问题描述 请问在jsp开发中使用的mysql server数据库服务器 请问在jsp开发中使用的mysql server数据库服务器,在Visual C++ 6.0中也可以使用么?如果可以,请问如何使用? 解决方案 到底你说的是mysql还是sql server?不过这两者都可以在VC中访问,具体你google下 解决方案二: 可以吧,但是6.0都是多少年前的版本了,连sql server会出现各种未知的问题,具体google,楼上正解 解决方案三: 应该是可以的,直接都连接同一个数据库不就可以

jsp-请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的?

问题描述 请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 如题,请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 解决方案 调ffmpeg 获取视频关键帧,作为缩略图 解决方案二: 缩影是什么意思?是压缩么,如果是的话用h.264编码压缩 解决方案三: 用过一个叫CK Player的一个插件,网页视频播放器,挺好用的可以去看看 解决方案四: 上传的视频是如果做到视频缩影 不懂也问问

JSP开发中的JavaBean的应用以及部署

JavaBean 说白了 就是一个java类,跟VC中的控件类似是JSP开发中组件. JavaBean分为可视化javabean    和非可视化javabean      ,在JSP中 多用到的是 非可视化javabean   . 在 C/S模式下开发应用程序多用到的是 可视化JavaBean   但是在 B/S模式下应用程序的开发多用到的是非可视化JavaBean . 我们在没接触JavaBean之前可能有过这样的经历,在JSP页面当中 动态内容JSP 和静态内容html交错在一起,不容易后

解决JSP开发Web程序中的中文问题

js|web|程序|解决|问题|中文     这段时间经常看到有人问到web开发中怎么中文总是?号.原因其实很简单,因为大家大多用的是tomcat服务器,而tomcat服务器的默认编码为 iso-8859-1(西欧字符).就是因为iso-8859-1(西欧字符)编码造成了我们经常看到?号. 方法一:最简单也是用的最多的方法. <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page cont

解决JSP开发Web程序中文显示的三种方法

js|web|程序|解决|显示|中文 方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插

解决JSP开发Web程序中文显示三种方法

方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插入数据库的数据都是?号.这也是应为to

在JSP开发中模拟.NET WebForm

js|web     WebForm是事件驱动的,控件状态可以在http请求之间自动保持,并且使用后置代码很好地实现了页面外观与页面逻辑控制的分离,一改以往html,服务器段代码.javaScript混杂在一起的web开发方式.stucts提供了大量的定制标签,由tag.form.bean.action及配置文件构建了一个优秀的MVC模式的web开发方式.但相比较其WebForm来,窃以为stucts更为复杂,需要协同工作的元素较多,解决问题的效果不如WebForm显著(仅是个人看法). 在现实

解决J2ME开发中的连续按键问题

本文主要讲述在MIDP1.0情况下处理开发过程遇到的连续按键事件,结合具体的实例给出一种实用的解决方案. 我们知道MIDP中的低级事件处理是通过keyPressed().keyReleased()和keyRepeated()来处理的,分别在按键被按下.释放和重复按键的时候被触发.当方法被调用的时候,系统会把所按下键的键值传递给上述的三个方法,根据按键的键值我们可以进行相关的处理.在MIDP中定义了如下的按键值分别是:KEY_NUM0,KEY_NUM1,KEY_NUM2,KEY_NUM3,KEY_