JSTLのcoreのメモ
JSTL(JavaServer Pages Standard Tag Library)とは
タグのライブラリ。「JSTL core」で検索するとタグリファレンスとか見つかる。
使う指定 ※入れ忘れると<c:タグが理解されなくなる。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
変数
<c:set var="num1" value="100" />
出力 ※サニタライズされる。
<c:out value="${ num1 }" />
if文
<c:if test="${ num1 >= 10 }" > <p><c:out value="${ num1 } "></c:out>は10以上の値です。</p> </c:if>
choose文
<c:choose> <c:when test="${ num1 >= 100 }"> <p><c:out value="${ num1 } "></c:out>は100以上の値です。。</p> </c:when> <!-- 略 --> <c:otherwise> <p><c:out value="${ num1 } "></c:out>は10未満の値です。。</p> </c:otherwise> </c:choose>
forEach文
<c:forEach begin="1" end="10" step="1" varStatus="status"> <p><c:out value="${ status.count }" />回めの処理</p> </c:forEach>
java.utilのインポート
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.List,java.util.ArrayList"%>
JSPで設定した値はEL式で使えない。以下のようにすると使える。
<% List<String> list = new ArrayList<String>(); list.add("やさしいJava"); list.add("15時間でわかるJava"); list.add("たった2時間でわかるLinux"); request.setAttribute("bookList", list); %> <c:out value="${ list }" />
拡張for文
<c:forEach var="book" items="${ bookList }" varStatus="status"> <c:if test="${ status.count % 2 == 0 }"> </c:if> <c:if test="${ status.count % 2 == 1 }"> </c:if> </c:forEach>
formタグ
actionにURLもしくはURIを指定。
<from action="<c:uri value="/~" />" method="POST">