group
属性で定義されたオブジェクトのコレクションをループ化します。
foreach
タグを使用すると、列挙タイプ (java.util.Enumeration、
javax.naming.NamingEnumeration、java.sql.ResultSet、javax.sql.RowSet、java.util.Iterator、または java.lang.Object[]) が自動的に認識されるため、それぞれのコレクション構造で列挙メソッドを覚える必要がなくなります。コレクションで次のタイプのいずれかが使用される場合に、item
および type
属性が使用されます。
java.util.Enumeration
javax.naming.NamingEnumeration
java.util.Iterator
java.lang.Object[]
スクリプト変数が作成され、コレクションから返されたオブジェクトが保持されます。
group
属性を使用して指定されたコレクションからのオブジェクトを返します。
<jrun:foreach
group="group name" item="variable name" [type="java.lang.Object|class name"]> ... </jrun:foreach>
必須。java.util.Enumeration
、javax.naming.NamingEnumeration
、
java.util.Iterator
、allaire.taglib.Table
、java.lang.Object[]
、または
java.lang.String
を取ります。
コレクション名。文字列を指定すると、pageContext.getAttribute()
を呼び出
すことで、列挙オブジェクトを見つけることができると仮定されます。
特定の group
タイプの場合は必須。java.lang.String
を取ります。
スクリプト変数名。この属性は、グループ属性が java.util.Enumeration、 javax.naming.NamingEnumeration、java.util.Iterator、または java.lang.Object[] である場合に必要となります。
オプション。java.lang.String
を取ります。
item
を指定した場合、この属性は、item
ループのスクリプト変数の作成に使用
されるオブジェクト タイプを示します。既定値は java.lang.Object
です。
<jrun:foreach
group="group name"> ... </jrun:foreach>
必須。java.sql.ResultSet
、javax.sql.RowSet
、または java.lang.String
を
取ります。
コレクション名。文字列を指定すると、pageContext.getAttribute()
を呼び出
すことで、列挙オブジェクトを見つけることができると仮定されます。
item
を指定した場合は、その値が変数名として使用されます。
TagData.getAttribute("item")
TagData.getAttribute("type")
true
NESTED
この JSP は、2 種類の foreach
構文の使用方法を示しています。
<%@ page import="allaire.taglib.*" %>
<%@ taglib uri="jruntags" prefix="jrun" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>foreach Tag Example</title></head><body> <%-- (foreach 構文 1) コレクションからオブジェクトが返されます。 --%> <jrun:foreach item="c" type="Cookie" group="<%= request.getCookies() %>"> <%= c.getname() %> </jrun:foreach> <%-- (foreach 構文 2) 列挙のデータに直接アクセスします。 --%> <jrun:sql datasrc="dsn1" id="rs"> SELECT * FROM Table1 </jrun:sql> <jrun:param id="rs" type="QueryTable"/> <jrun:foreach group="<%= rs %>"> ... <%= rs.get("column_name") %> ... </jrun:foreach> </body></html>