TLD又はタグファイル中のattribute指示子に従って属性itemsはどんな式も受け付けません

2008-01-09 23:37:51 | Tomcat

JSPでJSTLを使用していて、「TLD又はタグファイル中のattribute指示子に従って属性itemsはどんな式も受け付けません」というエラーが発生することがある。

原因は、

 Servlet 2.3/JSP 1.2とServlet 2.4/JSP 2.0では、使えるJSTLのバージョンが違います。(それぞれ1.0と1.1) Servlet 2.4/JSP 2.0でJSTL 1.0を使おうとすると、「TLD又はタグファイル中のattribute指示子に従って属性valueはどんな式も受け付けません」というエラーになってしまいます。
ソース
ソース2

らしいです。

web.xmlと対象のJSPを以下のように修正。
<!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>

<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/web-app_2_4.xsd"
 version="2.4">

対象のJSP)
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
 ↓
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>