Java no memo

自分のためのJavaメモ。

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