0

私は持っています

Map<ArrayList<String>, ArrayList<String> myMap = new HashMap<ArrayList<String>,ArrayList<String>>();

List<String> list1 = new ArrayList<String>();
list1.add("Administrator");
list1.add("Lookup Configuration");

List<String> list2 = new ArrayList<String>();
list2.add("User Creation");
list2.add("Branch Creation");
list2.add("Country");
list2.add("Language"):

上記はダミーデータです、こんな感じでメニュー管理を作成しています

管理者 (MenuName) -- ユーザーの作成 (item1) -- 支店の作成 (item2) ルックアップの作成 (MenuName) -- 国 (item1) -- 通貨 (item2)

私はこのようにjstlを書いています

Map,ArrayList> myMap = new LinkedHashMap,ArrayList>();

そして私はこのようにやっています

<c:forEach items="${mainMenu}" var="myMenu">
  <c:forEach items="${myMenu.key}" var="menuName" varStatus="loop">
    <li id="lookup" class="mail"><a href="#lookup">${menuName}<span>26</span></a>   
    <ul class="sub-menu">
      <c:forEach items="${myMenu.value}" var="items" varStatus="loop">
         <li><a href="#"><em>02</em>${items.itemName}<span>14</span></a></li>
      </c:forEach>                                            
    </ul>                   
    </li>
  </c:forEach>                                                                         
</c:forEach>

キーパーフェクトを取得していますが、値が打たれています

そして、値は実際のキーを反復していません。助けがあれば感謝されます

よろしくプラディープ

4

3 に答える 3

1

よくわかりませんが、次のようなものが必要な場合があります。

<%
Map<String, List<String>> myMap = new LinkedHashMap<String,List<String>>();
request.setAttribute("mainMenu", myMap);
List<String> adminItemsList = new ArrayList<String>();
adminItemsList.add("User Creation");
adminItemsList.add("Branch Creation");

List<String> lookupItemsList = new ArrayList<String>();
lookupItemsList.add("Country");
lookupItemsList.add("Language");

myMap.put("Administrator", adminItemsList);
myMap.put("Lookup Configuration", lookupItemsList);
%>

<c:forEach items="${mainMenu}" var="myMenu">
    <li id="lookup" class="mail"><a href="#lookup">${myMenu.key}<span>26</span></a>   
    <ul class="sub-menu">
    <c:forEach items="${myMenu.value}" var="item" varStatus="loop">
         <li><a href="#"><em>02</em>_${item}_<span>14</span></a></li>
    </c:forEach>                                            
    </ul>                   
    </li>
</c:forEach>

アウト:

管理者26

  • 02_ユーザー作成_14
  • 02_出店_14

ルックアップ構成26

  • 02_国_14
  • 02_言語_14

LinkedHashMap を使用して、マップに配置したキーの順序を記憶しました。

于 2012-06-08T21:42:34.087 に答える
1

正しいデータ構造を使用していますか?

つまり:

    Administrator
      --User Creation
      --Branch Creation
    Lookup Configuration
      --Country
      --Currency

これはリストのマップではないでしょうか? : Map<文字列,リスト<文字列>>

次に、各キーを反復処理してからそのキーの値を反復処理するネストされたループを作成できます。

于 2012-06-08T21:08:11.480 に答える
0

それはあなたの両方の投稿に本当に役立ちました、どうもありがとうございました私はあなたの両方の答えの解決策を得ました

ここにあります

私の地図はMap<String,List<String> myMenu = new HashMap<String, List<String>>();

<c:forEach items="${myMenu}" var="menuName" varStatus="loop">
   <li id="lookup" class="mail"><a href="#lookup">${menuName.key}</a>   
     <ul class="sub-menu">                                      
       <c:forEach items="${menuName.value}" var="item" varStatus="loop">
          <li><a href="${item.pageURL}">${item.itemName}</a></li>
       </c:forEach>
     </ul>                  
   </li>
</c:forEach>
于 2012-06-09T19:42:01.930 に答える