在使用jsp的el表達式時,發現tomcat 5對其不解析。按原樣輸出如${items}.
原樣把tomcat 的jsp例子拷過來還是如此。web.xml里和lib里的配置都配好了。找了很久才發現web.xml文件使用的是servlet 2.3版本的聲明的問題。el在servlet 2.3中默認是不啟用的。
servlet 2.3的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
'http://java.sun.com/dtd/web-app_2_3.dtd'>

<web-app id="WebApp_ID">
tomcat自帶的 servlet 2.4的。
<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">
把web.xml的聲明部分改為2.4的即可。
還有就是如果使用了<taglib>標簽就需要加<jsp-config>父標簽。具體內容看jsp2.0和servlet2.4規范
<jsp-config>
<taglib>
<taglib-uri>/tags/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
</jsp-config>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1667667