Iterateタグの使い方 †RequestやSession,PageContext?,Applicationなど、あるスコープ内に、配列やイテレータなどのインスタンスが存在するとき、iterateタグを利用することによってループ処理を非常に簡潔に記述することができます。 Collectionが、あるスコープに存在する場合 †下のコードは authenticateListというCollectionのインスタンスがrequestにAttributeされている場合のサンプルです。 <logic:iterate id="authenticate" name="authenticateList" scope="request"> <bean:write name="authenticate" property="userId" /> </logic:iterate> 配列が、あるスコープに存在する場合 †下のコードはjavadocsという名前の配列がrequestスコープに存在する場合のサンプルです。 <logic:iterate id="javadoc" name="javadocs" scope="request"> <tr> <td><bean:write name="javadoc" property="className" /></td> <td><bean:write name="javadoc" property="url" /></td> </tr> </logic:iterate> <%-- id: loop内のBeanの変数名(loop内のbean:writeなどでname属性として使われる) name,scope: scopeからgetAttribute(name) --%> と記述をすると
といったことが行われます。 フィールドに配列を保持するインスタンスが、あるスコープに存在する場合 †下のコードは、getBookmarks()というメソッドで配列を返すインスタンス(bookmarks)が、sessionに存在する場合のサンプルです。 <%-- id: loop内のBeanの変数名(loop内のbean:writeなどでname属性として使われる) name,scope: scopeからgetAttribute(name) property: 配列を返すプロパティ名。下例ではget+bookmarks=getBookmarksというメソッドが呼ばれる --%> <logic:iterate id="bookmark" name="bookmarks" property="bookmarks" scope="session"> <bean:write name="bookmark" property="name" /> <html:link paramName="bookmark" paramId="name" paramProperty="name" page="/edit.do?action=edit">編集</html:link> </logic:iterate> イテレータが、あるスコープに存在する場合 †Iterator が「pageContext」などにいるとする(名前をeとしよう)。そのとき、 <logic:iterate id="user" name="e"> <bean:write name="user" property="userid" /> </logic:iterate> この記事は
現在のアクセス:516 |