補講:JSTLをつかった単純な繰り返し
例えば、JavaSEで「Hello Word」という文字列を6回繰り返し出力する際には次のように書きました。
for (int i = 0; i < 6; i++) {
System.out.println("Hello World");
}
同様の処理をJSPでは <c:forEach> を使って以下のように書きます。
<c:forEach begin="1" end="6" step="1">
Hello World<br>
</c:forEach>
【begin】、【end】、【step】の意味は英語そのままですから特に解説もいらないと思います。
以下は <c:forEach> を使った単純な繰り返しのサンプル集です。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>forEach1</title>
</head>
<body>
<c:forEach begin="1" end="6" step="1">
Hello World<br>
</c:forEach>
<hr>
<c:forEach begin="1" end="6" var="i">
<h${7-i}>Hello World</h${i}>
</c:forEach>
<hr>
<c:forEach begin="1" end="6" var="i" >
<c:out value="${i}"/><br>
</c:forEach>
<hr>
<c:forEach begin="1" end="10" step="2" var="i">
<c:out value="${i}"/><br>
</c:forEach>
<hr>
<c:forEach begin="1" end="9" var="i">
<c:forEach begin="1" end="9" var="j">
<c:out value="${i * j}"/>
</c:forEach>
<br>
</c:forEach>
<hr>
数量:<select name="num">
<c:forEach begin="1" end="6" var="i">
<option>${i}</option>
</c:forEach>
</select>
</body>
</html>
- step属性は省略できましたか?その場合の既定値はなんですか?
あなたの答え: |
- step属性にマイナスの数は指定できません。そこで14~16行でなされている工夫はなんですか?
あなたの答え: |
- 18~20行、22~24行の出力結果をそれぞれ予想しなさい。
あなたの答え: |
- 26~31行の出力結果を予想しなさい。
あなたの答え: |
- 33~37行の出力結果を予想しなさい。
あなたの答え: |
以上、「JSTLをつかった単純な繰り返し」でした。