每日一得--解决tomcat 5.5 不能识别 JSP的EL表达,但tomcat 7.0 可以的问题

本文详细介绍了在使用Tomcat5.5部署JSP时遇到EL表达式不被解析的问题,分析了可能的原因,并提供了升级Tomcat至6.0及以上版本、修改web.xml文件以及在JSP页面中添加特定指令三种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tomcat 5.5使EL表达式不被解析。

 

现象

代码${userSession.user_name}是JSP中的一个代码片段;

如果部署到tomcat5.5中,不会显示出session中的变量user用户名,而只会把 ${userSession.user_name}打印出来,猜测很可能是tomcat5.5的bug,不解析(或屏蔽了)EL表达式。

 

原因

如果web.xml中声明部分的schema版本为2.5或者以上,而tomcat使用的是5.5.x以下的版本的时候就会出现在页面直接显示而不解析jstl/el表达式。如果web.xml中声明部分的schema版本为2.5或者以上,tomcat使用使用的是6.0以上则不出现这种问题。

 

解决方案

(1)升级tomcat容器至tomcat6(推荐方法)。

(2)修改web.xml中声明部分的schema版本为2.4  (已验证,果然可以~)。

(3)在使用了EL表达式的所有JSP页面的中加入page指令添加 isELIgnored="false",

       形如:<%@ page    isELIgnored="false"  %>(比较麻烦)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值