部署不同版本Tomcat引发的jstl java.lang.NoClassDefFoundError javaxelValueExpression问题

来源:互联网 发布:阿里云控制台中文乱码 编辑:程序博客网 时间:2024/05/17 22:02

问题说明:       

        今天碰到一问题,家里新增测试功能没有问题,而放到现场部署,页面抛这个错:java.lang.NoClassDefFoundError: javax/el/ExpressionFactory

后来对比才发现,现场使用的是Tomcat5.5的版本发布,而我使用的是6.0的版本,网上了解确实存在jstl支持的问题。

 解决方案:

更新javax.el.jar等jstl相关包,部署到项目中。(资源可到我的上传中免费下载) 

        其实使用JSTL(JSP标准标签库)和环境很有关系tomcat6.0和tomcat5.5所需要的包是不同的。如果你和我一样使用的是tomcat5.5的话,我建议使用Tomcat5.5 + jstl1.1.2.jar + standard.jar + javax.el.jar。(注意区分下面的jstl1.2和jstl1.1.2,一个是1.2,一个是1.1版本) 
        我开始使用的是jstl1.2,很普通的el的使用都是能通过的,比如:<c:out value="Welcome!"/>,这是没有问题的,但是一旦使用了foreach一类的东西,就会出错。

2 0