いつもお世話になっております。
Tymeleafの繰り返し処理を使って、
以下のHTMLのようなコードを表示したいのですが、
どのような繰り返し処理を組めば、以下のHTMLのような表示が出来るのでしょうか。
【HTML】
<li> <a data-toggle="collapse" href="#menu01" aria-controls="#menu01" aria-expanded="false">受注業務</a> </li> <ul id="menu01" class="collapse"> <li><a id="menu-link" href="/zyutyu/regist/" >受注登録</a></li> <li><a id="menu-link" href="/zyutyu/modify/" >受注修正</a></li> </ul> <li> <a data-toggle="collapse" href="#menu02" aria-controls="#menu02" aria-expanded="false">販売業務</a> </li> <ul id="menu02" class="collapse"> <li><a id="menu-link" href="/hanbai/regist/" >販売登録</a></li> <li><a id="menu-link" href="/hanbai/modify/" >販売修正</a></li> <li><a id="menu-link" href="/hanbai/delete/" >販売削除</a></li> </ul>
(補足)
1.data-toggle="collapse"のある<li>タグは、業務ごとに1つだけ表示したいです。
2.id="menuXX"のある<ul>タグも、業務ごとに1つだけ表示したいです。
3.id="menu-link"のある<li>タグは、実際のメニュー分だけ表示したいです。
4.業務名の数、業務名配下のメニューの数は、決まっていません。
※phpであれば、以下のようなリストを作成して、
最初のデータ、または、gyoumu_meiが変わるたびに
data-toggle="collapse"のある<li>タグ、id="menuXX"のある<ul>タグを表示して、id="menu-link"のある<li>タグは、毎回表示しようかと思いますが、
Tymeleafの場合は、どのように書けばよいか分からないです。
gyoumu_mei menu_mei
受注業務 受注登録
受注業務 受注修正
販売業務 販売登録
販売業務 販売修正
販売業務 販売削除
(補足2)
【th:blockを使用したコード】
<th:block th:each="data : ${menu_list}"> <li th:if="${data.gyoumu_mei_hyouji_flg == 1}"> <a data-toggle="collapse" th:href="'#menu'+${data.no}" th:aria-controls="'#menu'+${data.no}" aria-expanded="false" th:text="${data.gyoumu_meisyou}"></a> </li> ☆ <ul th:if="${data.gyoumu_mei_hyouji_flg == 1}" th:id="'menu'+${data.no}" class="collapse"> ☆ <li><a id="menu-link" th:data-menu="'mn'+${data.no}" th:href="'/'+${data.url}+'/'" target="main" th:text="${data.meisyou}"></a></li> ☆ </ul> </th:block>
menu_listには、以下のデータがリスト形式で登録されています。
no gyoumu_mei_hyouji_flg gyoumu_meisyou meisyou url
0 1 受注業務 受注登録 zyutyu/regist
1 0 受注業務 受注修正 zyutyu/modify
2 1 販売業務 販売登録 hanbai/regist
3 0 販売業務 販売修正 hanbai/modify
4 0 販売業務 販売削除 hanbai/delete
このデータを使って、【HTML】のようなコードを表示したいのですが、
☆の部分がうまく制御できません。
☆の部分の実施したい事は、
・gyoumu_mei_hyouji_flg=1の時は、<ul>タグを表示する。
・<li><a>タグはgyoumu_mei_hyouji_flgの値に関係なく毎回表示する。
・</ul>タグは、次の明細のgyoumu_mei_hyouji_flg=1または最終行のデータの時は、</ul>タグを表示する。
です。
何か良い方法はありますでしょうか。
以上です。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー