JSPでforeachを使ってみた


あれはそう、C言語とかJavaScriptとかしか知らなかった学生時代

JSPの授業でforeachとArrayListを学んだ。

C言語では

//C言語のよくあるループ
for(i = 0; i < 10; i++){
  printf(%c,List[i]);
}

みたいなこと書いていた気がする。

そんな時、foreachとArrayListを学んで全身の毛が逆立つような高揚感に包まれたことを記憶しています。

でも、あんまり使ってなかったのでこれを気に使ってみました。

まず、foreachを使うには以下の手順が必要になります。

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

これをimportしてる辺りに記載します。

次にこのtaglibを使う為に以下のサイトからjarファイルをダウンロード
https://tmg0525.hatenadiary.jp/entry/2017/08/14/154450

  • taglibs-standard-impl-1.2.5.jar
  • taglibs-standard-jstel-1.2.5.jar
  • taglibs-standard-spec-1.2.5.jar

ダウンロードしたらeclipceのWEBContent->WEB-INF -> libに投げ込みます。

これでcのprefixが使えるようになります。

ArrayListはaddとかを使う事で要素数を気にせずに要素を入れれます。素晴らしい…

そしてそれらを組み合わせたのがコチラ

<c:forEach items="${itemAry}" var="item" varStatus="status">
 <option value="${status.count}" <c:if test="${status.count==itemIndexStr}">selected</c:if>> ${item}</option>
</c:forEach>

itemの内容をセレクトボックスのoptionに書きだして、ついでになんらかの入力エラーで帰ってきたら同じ物にSeledtedしてあげるプログラムです。

プログラムに数字がないってなんて素晴らしいプログラムなんでしょうか…

使い方を覚えなくてはっ!