技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

jsp:foreachが上手く動かない(表示できない)時の対処法→ライブラリ定義忘れかも

ググってもそのままズバリの答えが出てこなかったので、記事にします。
--------------------------
JSTLのcoreタグライブラリを使用している時に、
 
<tr>
    <th> </th>
    <c:forEach var="obj1" items="${time}">
        <th><c:out value="${obj1.time}"/></th>
    </c:forEach>
</tr>
 
こんな感じでforEach文を使っても何も表示されないことがありました。
 
理由は単純で、jspの先頭に
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
を入れていなかったためでした。
 
taglib文はライブラリの定義であり、この定義でライブラリを取り込まないとJSTLのcoreタグライブラリは使用できません。
また、「prefix="c"」で指定した文字cは、「c:forEach」の文字cに対応しています。
 
詳しくは以下のページが参考になります。
 
JSTL coreタグライブラリの利用

https://qiita.com/sculptcat/items/53d1a3a2d3b973354085