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