我引用我之前提供的关于EL无法正常工作的答案:
换句话说,EL表达式没有得到评估吗?可能有以下一种或多种原因:
- 有问题的应用程序服务器不支持
JSP 2.0
。 - 在
web.xml
未声明为的Servlet 2.4
或更高版本。 - 该
@page
配置有isELIgnored=true
。 web.xml
中配置有<el-ignored>true</el-ignored>在<jsp-config>
。
在你的特定情况下,EL在taglibs中工作,但在模板文本中工作,因此我怀疑它是由第2点引起的。请确保至少将你web.xml
声明为Servlet 2.4。由于Tomcat 6.0支持Servlet 2.5,所以我建议将你声明为Servlet 2.5:web.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="Your_WebApp_ID" version="2.5"> <!-- Here you go. --></web-app>
我看到的另一个罕见原因是类路径中与EL JAR发生冲突。确保你没有将任何特定于应用服务器的JAR文件复制到你的Web应用程序中,
WEB-INF/lib或更糟糕的是,将其复制到了Web应用程序中
JRE/lib。
当你已经在使用Eclipse和Tomcat时,我将回顾你用于所有步骤的开发步骤。确保你正在使用“ Eclipse for Java EE开发人员”,并且已将Tomcat实例集成到Eclipse的“ 服务器”视图中,并且已创建一个设置为“ Servlet 2.5” 的动态Web项目,该项目使用了Tomcat实例。这样,一切应该自动进行(Eclipse将在构建路径本身中获取appserver的库,并自动生成Servlet 2.5兼容的库
web.xml)。
更新:根据你的更新:这些
com.servlet.Elservlet看起来可疑。他们到底在做什么?解析EL?删除它们,然后重试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)