但是,当我在装有Tomcat 5.5的Unix(CentOS)平台上部署war文件时,EL表达式无法执行,并给出如下输出:
${prod.id} ${prod.name}
换句话说,EL表达式根本没有得到评估,而是显示为纯文本?可能有以下一种或多种原因:
- 有问题的应用程序服务器不支持JSP 2.0。
- 在
web.xml
未声明为的Servlet 2.4或更高版本。 - 的
<%@page %>
JSP的配置有isELIgnored=true
。 - 在
web.xml
被配置为与<el-ignored>true</el-ignored>
在<jsp-config>
。
Tomcat 5.5是Servlet 2.4 / JSP
2.0,因此#1可能会被划伤。我认为在部署之前您没有在webapp中进行任何更改,因此#3和#4可能会被划伤。现在离开#2。也许您将其声明为Tomcat
6.0的Servlet 2.5,而Tomcat 5.5仅了解Servlet
2.4。这样,一切都会变得混乱,因为Tomcat随后将退回到最低兼容性的方式。您需要重新声明
web.xml为 Servlet 2.4,
以便它在Tomcat 5.5和6.0中都可以使用。声明应如下所示:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <!-- Here you go. --></web-app>



