今天在将以前写的电子商务代码部署到tomcat5.5上面,发现el表达式实现,所有用到el表达式的地方都显示${..},以前是可以的么有问题的。
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
web.xml中代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>StrutsFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>StrutsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
网上查找解决办法:
1,将此项目重新部署到tomcat6.0上问题解决。
2,将上图中红色部分修改为
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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">
同样也可以解决。
即对应关系最好如下图彩色字体对应
Servlet
JSP
JSTL
Java
Tomcat
2.5
2.1
1.2
5.0
6.0.x
2.4
2.0
1.1
1.4
5.5.x
2.3
1.2
1.0
1.2
4.1.x
2.5
2.4
2.3
3,在每一个jsp页面上面都加一句
<%@ page isELIgnored="false" %>
问题也可以解决。