EL表达式不起作用原因

web.xml中2.4版本的默认导入的standerd.jar,和jstl.jar是使用el表达式的包是启动的
而2.5版本的web.xml中默认是关闭的
所以在2.5的所有jsp中需要启动一下
用<% page isELIgnored="false"%>

el表达式不起作用


        今天用el表达式,老是得不到后台传过来的值。该导入的jar包和标签库也都导入了。还是不起作用。后来在网上找到一篇文章。解决了。原来是版本的问题。现在贴一下。


tomcat5.0的版本, 使用了低版本,只求稳定。


web.xml


<?xml version="1.0" encoding="ISO-8859-1"?>


<web-app xmlns="http://java.sun.com/xml/ns/j2ee"


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"


    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"


    version="2.4">


2.4版本默认启用el表达式,如果使用2.5版本,默认el表达式是关闭的


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


那么对应2.5的web.xml -->  jsp页面里应该增加<%@ page isELIgnored="false"%>


一句话,凡是部署描述文件遵循Servlet2.4规范的WEB应用,EL表达式的计算默认是启用的,而未遵循的,则EL表达式的计算默认是禁用的。


所以解决方案还可以是:将web.xml中的DTD(文档类型定义)改问2.4的版本


我用的是在公共页中加入<%@ page isELIgnored="false"%>,然后每个页面引入公共页。问题解决了。

posted on 2012-11-13 11:04 youngturk 阅读(4437) 评论(1)  编辑  收藏 所属分类: JavaScriptJSP随笔struts2servletEL表达式

评论

# re: EL表达式不起作用原因[未登录] 2015-08-09 11:36 阿杰

tomcat7也是默认不启用jstl么0 0 整了好久没找到原因,加了这个标签真好了!!我的天  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

公告

this year :
1 jQuery
2 freemarker
3 框架结构
4 口语英语

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

相册

EJB学习

Flex学习

learn English

oracle

spring MVC web service

SQL

Struts

生活保健

解析文件

搜索

最新评论

阅读排行榜

评论排行榜