Tomcat 5.5默认不解析EL表达式的解决办法

来自:http://kakajw.iteye.com/blog/1063843,感谢作者解决问题。

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"  %>(比较麻烦)。


解决方案(4)本博客作者完成。在web.xml当中加入

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>

你可能感兴趣的:(tomcat)