2013-01-03 29 views
7

私にInfoオブジェクトを返すバックエンドサービスがあります。このInfoオブジェクトはFolderGroupオブジェクトのリストを持ち、オブジェクトのリストはFolderGroupオブジェクトの順番になります。JSPで再帰コレクションを提示する方法

基本的には、フォルダとサブフォルダを表すことです。しかし、私のJSPページでは、どのくらいの深さまで繰り返しているかわからないでしょう。これはJSTLでどのように処理できますか?

答えて

14

次のコード含むJSPタグ・ファイル(WEB-INF/tags/folderGroups.tag)を作成します。タグはフォルダツリーを生成するために、自分自身を再帰的に呼び出す

<%@ attribute name="list" required="true" %> 
<%@ taglib tagdir="/WEB-INF/tags" prefix="myTags" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<c:if test="${!empty list}"> 
    <ul> 
    <c:forEach var="folderGroup" items="${list}"> 
     <li><c:out value="${folderGroup.name}"/></li> 
     <myTags:folderGroups list="${folderGroup.subGroups}"/> 
    </c:forEach> 
    </ul> 
</c:if> 

を。

そして、あなたのJSP内には、たくさんの:-)

<%@ taglib tagdir="/WEB-INF/tags" prefix="myTags" %> 
... 
<myTags:folderGroups list="${info.folderGroups}"/> 
+0

感謝を行います。数分でこれを試して更新します。 – Sripaul

+0

チャームのように働いた!ありがとうございます:-) – Sripaul

+3

属性に 'type'を追加する必要がありました。それ以外の場合は、Stringとして取得しました。 つまり、 '<%@属性名="リスト "type =" MyClass "required =" true "%>' – Hagai

関連する問題