详细:http://blog.youkuaiyun.com/mohan_888/article/details/8471855
后台:
rMap = new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
List<Object> list=new ArrayList<Object>();
Map<String, Object> cateorymap = new HashMap<String, Object>();
string[] type={"a","b","c"};
//...
map.put("name", namemap);
map.put("type", type);
map.put("category", cateorymap );
map.put("list",list);
rMap.put("thingsClass", map);
return "ok";
struts2:
//...
前台:
${rMap.thingsClass['type']} 获得type值(string[] type={"a","b","c"};)
${rMap.thingsClass['category']} 获得(Map<String, Object> cateorymap = new HashMap<String, Object>();)值
<c:if test="${rMap.thingsClass['type'] != null }">
<c:forEach items="${rMap.thingsClass['type']}" var="class1"><!-- //循环list -->
<tr class="row">
<td class="row-hd">
<p class="title"><a href="things_searchAndselects?things.thingstype1=${class1}">${class1}</a></p>
</td>
<td class="row-bd">
<div class="row-wrapper">
<div class="cats">
<c:forEach items="${rMap.thingsClass['category'][class1]}" var="class2" varStatus="abc" end="7"><!-- //循环list -->
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype2=${class2}">${class2}</a></span>
<c:if test="${abc.count >7}">
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype1=${class1}">更多...</a></span>
</c:if>
</c:forEach>
</div>
</div>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${rMap.thingsClass['type'] == null }">
<c:if test="${rMap.thingsClass['category'] != null }">
<c:forEach items="${rMap.thingsClass['category']}" var="class1"><!-- //循环map -->
<tr class="row">
<td class="row-hd">
<p class="title"><a href="things_searchAndselects?things.thingstype1=${class1.key}">${class1.key}</a></p>
</td>
<td class="row-bd">
<div class="row-wrapper">
<div class="cats">
<c:forEach items="${class1.value}" var="class2" varStatus="abc" end="7">
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype2=${class2}">${class2}</a></span>
<c:if test="${abc.count >7}">
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype1=${class1.key}">更多...</a></span>
</c:if>
</c:forEach>
</div>
</div>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${rMap.thingsClass['category'] == null }">
<c:if test="${rMap.thingsClass['name'] != null }">
<c:forEach items="${rMap.thingsClass['name']}" var="class1"><!-- //循环map -->
<tr class="row">
<td class="row-hd">
<p class="title"><a href="things_searchAndselects?things.thingstype2=${class1.key}">${class1.key}</a></p>
</td>
<td class="row-bd">
<div class="row-wrapper">
<div class="cats">
<c:forEach items="${rMap.thingsClass['name'][class1.key]}" var="class2" varStatus="abc" end="7">
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype3=${class2[0]}">${class2[0]}</a></span>
<c:if test="${abc.count >7}">
<span class="cat "><a class="J_Ajax" href="things_searchAndselects?things.thingstype2=${class1.key}">更多...</a></span>
</c:if>
</c:forEach>
</div>
</div>
</td>
</tr>
</c:forEach>
</c:if>
</c:if>
</c:if>

本文介绍了一个使用 Struts2 框架进行数据展示的实例,详细讲解了如何通过多层 Map 和 List 结构传递数据到前端,并利用 JSTL 标签进行循环显示。
1万+

被折叠的 条评论
为什么被折叠?



