`

使用Struts2的iterator标签嵌套遍历Map<String,List<TypeInfo>>

阅读更多
首先数据库的结构是这样的
1.类型ID typeId
2.类型名称 typeName
3.父类型ID parentsId
相当与一个树所以树根的parentsId都为0
属于该树根下的节点的parentsId都为该树的typeId
所以我从数据库查询出的结果放到Map里的结构是这样的

首先从数据库查询出来所以的树的根节点(就是parentsId等于0的)放到List中
然后把该List放入Map中键为“0”也就是parentsId列的值
接着遍历该List拿到每个根节点的typeId到数据库中查询属于根节点的子节点
并把属于该根节点的子节点保存到List中然后在把List保存的Map中键值是该子节点的parentsId值

页面遍历方式是:

<ul class="wzfl">   
                <li class="onefl"><a href="#"><span><strong>全部文章(123)</strong></span></a></li>   
                <s:iterator var="classificationroot" value="classifications['0']">   
                <li class="onefl">   
                    <a href="javaScript:flkz('javabc<s:property value="#classificationroot.classificationId"/>')"><span><strong><s:property value="#classificationroot.typesName"/>(90)</strong></span></a>   
                    <ul id="javabc<s:property value="#classificationroot.classificationId"/>">   
                        <s:iterator var="classification" value="classifications[#classificationroot.classificationId]">   
                            <li class="twofl"><a href="#"><span><s:property value="#classification.typesName"/></span></a></li>   
                        </s:iterator>   
                    </ul>   
                </li>   
                </s:iterator>   
            </ul>   

<ul class="wzfl">
             <li class="onefl"><a href="#"><span><strong>全部文章(123)</strong></span></a></li>
             <s:iterator var="classificationroot" value="classifications['0']">
             <li class="onefl">
                 <a href="javaScript:flkz('javabc<s:property value="#classificationroot.classificationId"/>')"><span><strong><s:property value="#classificationroot.typesName"/>(90)</strong></span></a>
                    <ul id="javabc<s:property value="#classificationroot.classificationId"/>">
                     <s:iterator var="classification" value="classifications[#classificationroot.classificationId]">
                      <li class="twofl"><a href="#"><span><s:property value="#classification.typesName"/></span></a></li>
                        </s:iterator>
                    </ul>
                </li>
                </s:iterator>
            </ul>


第一个iterator是遍历根节点
第二个iterator是遍历属于该根节点的子节点

classifications Map对象的名称 classifications['0']去得key值是0的那个value就是所以根节点List 并遍历它去得根节点的typeId的值,然后通过第二个iterator遍历属于该根节点的子节点。
注意:第二个iterator的value属性value="classifications[#classificationroot.classificationId]" 的取值方式



引自:http://hi.baidu.com/%BB%A8%BB%F0%C8%D5%BC%C7/blog/item/2dd6da165f85a216962b433b.html
分享到:
评论

相关推荐

    Struts2 iterator 标签遍历 Map,List,数组(三十六)

    首先,我们来看如何使用`iterator`标签遍历Map。在Java中,Map是一种键值对的数据结构,`iterator`标签可以通过`key`和`value`属性分别获取键和值。例如: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ......

    Struts迭代器(iterator)遍历List常用的4种例子

    2. 遍历List&lt;List&lt;String&gt;&gt; 3. 遍历UserEntity 4. 遍历List&lt;UserEntity&gt; 遍历方法各有长短,若不是多表联接查询、显示表格的列数已经固定,一般用实体类(UserEntity)迭代的方式。相反,显示的数据表格行和列不确定...

    struts2 iterator标签遍历二维数组

    本文将深入探讨如何使用Struts2中的`&lt;s:iterator&gt;`标签来遍历二维数组,并通过实例代码来具体说明其用法。 ### Struts2 Iterator标签 #### 1. 基本概念 `&lt;s:iterator&gt;`是Struts2的一个非常强大的标签,主要用于...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...

    struts2中的map遍历

    这样,当用户访问对应的URL时,Struts2会调用`MyAction`的`execute()`方法,填充Map数据,并将结果转发到`resultPage.jsp`,在那里使用`&lt;s:iterator&gt;`遍历并显示Map内容。 除了基本的遍历,Struts2还提供了丰富的...

    iterator嵌套,struts2

    在JSP页面中,使用Struts2的`iterator`标签遍历`timereportinfo_view`时,我们需要进行两层嵌套。外层`iterator`遍历`LinkedHashMap`的键值对,内层`iterator`则遍历每个日期对应的`List`。下面是如何正确使用`...

    Map集合的四种遍历方式 .txt

    Iterator&lt;Map.Entry&lt;Integer, String&gt;&gt; iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry&lt;Integer, String&gt; entry = iterator.next(); System.out.println("key=" + entry.getKey()...

    struts2中iterator 标签的使用详解

    在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示来自后端的数据,从而极大地提高了开发效率和...

    java遍历Map对象的说有数据

    Map&lt;String, String&gt; emails = new HashMap&lt;&gt;(); emails.put("alice@example.com", "Alice"); emails.put("bob@example.com", "Bob"); Iterator&lt;Map.Entry&lt;String, String&gt;&gt; it = emails.entrySet().iterator(); ...

    怎样遍历一个HashMap?

    可以通过2种方法遍历HashMap&lt;br&gt;&lt;br&gt;Map map = new HashMap();&lt;br&gt;&lt;br&gt;for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) {&lt;br&gt;&lt;br&gt; Map.Entry entry = (Map.Entry) iter.next();&lt;br&gt;&lt;br&gt; Object ...

    Struts iterator JSP Map 中嵌套 Map

    `&lt;s:iterator&gt;`是Struts2中的一个标签,用于迭代集合或者数组中的元素。在处理Map时,我们可以使用这个标签来迭代键值对,并在JSP页面上显示它们。 在描述中提到的"嵌套Map"是指Map的值本身还是另一个Map。这种结构...

    struts2 标签iterator使用

    在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于遍历集合或数组中的元素,尤其在处理列表数据时极为有用。通过本文档提供的代码示例,我们将深入探讨`&lt;s:iterator&gt;`标签的使用方法及其与不同数据...

    struts2标签之列求和

    通过以上分析可知,利用Struts2的`&lt;s:iterator&gt;`和`&lt;s:set&gt;`标签,我们可以很方便地实现对列表数据的迭代显示及数值求和功能。这种方法不仅简化了后端代码逻辑,也使得前端页面更加灵活和动态。这对于处理大量数据时...

    jsp页面iterator遍历数组、Map、List

    该文档代码讲述了如何在jsp页面iterator遍历数组、Map、List集合

    map遍历的三种方法

    for (Iterator&lt;Map.Entry&lt;String, Student&gt;&gt; it = set.iterator(); it.hasNext();) { Map.Entry&lt;String, Student&gt; entry = (Map.Entry&lt;String, Student&gt;) it.next(); System.out.println(entry.getKey() + "---&gt;...

    Struts2 使用OGNL遍历map方法详解

    这个例子中,我们使用嵌套的`s:iterator`标签来遍历数组中的每个元素。 4. **遍历学生列表**: ```jsp &lt;table&gt; &lt;s:iterator value="listMap"&gt; &lt;tr&gt; &lt;td&gt;Class:&lt;s:property value="key"/&gt;&lt;/td&gt; &lt;td&gt; &lt;ul&gt; &lt;s:...

    jsp自定义标签iterator遍历list[整理].pdf

    本文主要介绍了在 JSP 中使用自定义标签 Iterator 遍历 List,并对标签的实现过程进行了详细的解释。 标签的概念和作用 在 JSP 中,标签是一种特殊的组件,它可以根据需要执行不同的操作。自定义标签可以满足特定...

    struts2标签库例子

    例如:&lt;s:append id="myAppendIterator"&gt; &lt;s:param value="%{myList1}" /&gt; &lt;s:param value="%{myList2}" /&gt; &lt;s:param value="%{myList3}" /&gt;&lt;/s:append&gt;&lt;s:iterator value="%{#myAppendIterator}"&gt; &lt;s:property /&gt;&lt;/...

    struts2遍历集合

    #### 使用`s:iterator`标签遍历集合 `s:iterator`标签是Struts2中最常用的遍历集合的标签。它的主要属性包括: - **value**:指定要遍历的集合,可以是数组、列表或Map类型的对象。 - **id**:为每个遍历元素设置...

    java-遍历map

    private String listToJSON(Map&lt;String, String&gt; uploadFileMap) { JSONObject json = new JSONObject(); Iterator&lt;Map.Entry&lt;String, String&gt;&gt; fileItr = uploadFileMap.entrySet().iterator(); Map.Entry...

Global site tag (gtag.js) - Google Analytics