`
kevin-qingzhan
  • 浏览: 84819 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

NoClassDefFoundError

阅读更多
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/
descriptiThe 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的需要加上此句才可以避免在页面上输出${}。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics