JSTLはツリー型構造データの再帰展示を実現!

1411 ワード

シーン:
ツリー型構造のデータはデータベースにあります
オブジェクトTree(id,name,url....)にマッピングし、Treeは自己記述属性リストchildrenを追加した
ルートノードに基づいてデータベースから再帰ツリー構造をリストtreeListに配置し、表示中に階層別に表示する必要があります.
質問:不明なツリーのレベルがどれくらいなのか、JSTLでは関数の再帰はサポートされていません.
ソリューション:ファイルに含まれる形式を用いたソリューションは、あまり優雅ではありませんが、なんとか実現しました.
知識の準備:
JSTL cタグの使い方,c:forEach,c:import
JSPの役割ドメイン:page,request,session,application
c:importページではrequest役割ドメインレベル以上のデータを共有できますが、page役割ドメインのデータを共有できません.
実装:
ホームフェースコード:



含まれるページ:_r.jspコード:



  
  
    ${index}
    ${level}
    ${cur.name}
  
  
    
    
    
  


まとめ:
c:importで再帰を実現し、終了条件はlistにchildrenがないことです!