我有一个
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) - 用户创建(第1项) - 分支创作(第2项) 查找创建(MenuName) - 国家(第1项) - 货币(第2项)
我正在写这样的jstl
地图,ArrayList的&GT; myMap = new LinkedHashMap,ArrayList&gt;();
我正在这样做
<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>
我得到了关键的完美,但我感到震惊了
并且值不会迭代已实现的键 任何帮助将是apreciated
此致 普拉迪普
答案 0 :(得分:1)
您使用的是正确的数据结构吗?
你的意思是:
Administrator
--User Creation
--Branch Creation
Lookup Configuration
--Country
--Currency
这不是列表地图吗? :Map&lt; String,List&lt; String&gt;&gt;
然后你可以有一个嵌套循环,你迭代每个键,然后遍历那个键的值。
答案 1 :(得分: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>
出:
Administrator26
查找配置26
我使用LinkedHashMap来记住我在Map中放置的键的顺序。
答案 2 :(得分: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>