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コード:
まとめ:
c:importで再帰を実現し、終了条件はlistにchildrenがないことです!
ツリー型構造のデータはデータベースにあります
オブジェクト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がないことです!