java.lang.NoClassDefFoundError: javax/el/ExpressionFactory异常和${}打印在页面上的解决办法【整理稿】

 -----------转帖开始----------

本文由    牛仔   发表在:  骑蚂蚁上火星

[转]java.lang.NoClassDefFoundError: javax/el/ExpressionFactory

tomcat5.5.17+jstl1.2+servlet2.5+jsp2.1配置
在此我使用的环境是:
tomcat5.5.17
jstl1.2
servlet2.5
struts1.2+spring2.0+hibernate3.1

如果你按照以上目录发布工程,抛出以下异常:
(1)  java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
(2)  或打开页面后显示:
HTTP Status 404 - /hello1/ type Status report
message /hello1/
descripti The requested resource (/hello1/) is not available.
Apache Tomcat/5.5.17
则将javaee.jar包再copy一份放在tomcat目录的common/lib下就不会了。
关于用到的javaee.jar、jsf-api.jar、jsf-impl.jar、jstl-1.2.jar这四个包可以通过myeclipse中获得,如果你安装了myeclipse5.5的话,我安装的是MyEclipse 5.5.1 GA,这四个包的所在的目录是:MyEclipse 5.5.1 GA/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_5.5.1/data/libraryset/EE_5

-----------转帖结束----------

按以上所述完成后,出现的新问题是,运行的页面里把${}都给输出了,why?

找到的解决办法:


-----------转帖开始----------
问题:
有些时候在使用JSP EL表达式时,直接用${param}时,在页面输出的是${param},而用<c:out value="${param}" />也不能正常显示?

原因与解决方法:
可能是与JSTL冲突了,如在页首加入了
<%@ taglib uri="http://java.sun.com/jsp/jstl/core divfix="c" %>
1、当你的页面没有使用这些标准标志库中的操作时,将上面的语句删掉,即不要包含JSTL的信息,就可以正常输出 ${param}
2、在页首加入
<%@ page isELIgnored="false" %>

就可以同时使用JSP 2.0 EL与JSTL了
-----------转帖结束----------
上面是转帖。

经过测试,发现:tomcat6不用 加入<%@ page isELIgnored="false" %> 即可正常工作,

但是tomcat5.5的需要加上此句才可以避免在页面上输出${}。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值