JSTL解決


2時間ぐらいして判明。
JSTL1.1のtaglib定義をservel2.3で使用していたダケダッタ。
1.0のtaglib定義に書き換えてみたら動いたのだ
というかあまりに微妙に変わっていてキガツカンカッタ。


それぞれ以下のように修正*1
taglib

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


web.xmlDTDは使用しないらしい)

<!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 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">


実行結果

<c:out value="${hoge.hogeValue}"/>

 ↓

HOGEHOGE


Tomcat5.0.28のサンプルアプリがservlet2.3で書いてあるからいかんのだよ!



追記
途中ででたException

StandardWrapperValve[jsp]: サーブレット jsp のServlet.service()が例外を投げました
org.apache.jasper.JasperException: /index.jsp(12,1) TLD又はタグファイル中のattribute指示子に従って属性valueはどんな式も受け付けません
	at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
	at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)


これはservlet2.4+JSTL1.0にしてしまったときにでる(らしい)*2


■リンク
JSTL入門
http://www.oklab.org/java/jstl.html
Taglibs(Standard Taglibs:coreタグライブラリ)
http://www.javaroad.jp/opensource/js_taglibs4.htm#out
タグライブラリとJSP
http://www.wakhok.ac.jp/~tomoharu/web2004/text/index_c5.html
Standard Taglib トピックス
http://four.sssg.org/documents/jajakarta/taglibs/topics/docs/core_topics.html
JavaServer Pages Standard Tag Library 1.1 Tag Reference
http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html
JSTLちょこっとメモ
http://www.programmers-paradise.com/java/jstl.html