`
longgangbai
  • 浏览: 7330759 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2的学习(复杂的遍历标签)

阅读更多

例如我有个此结构的map
private Map<String, List<HotelRoomTypeView>> viewMap = new HashMap<String, List<HotelRoomTypeView>>()

在struts2 中这样遍历
Java代码
<s.iterator value="viewMap.keySet()" id="vkey">  
                <tr>  
                    <td>供应商:</td>  
                    <td>  
                        <s.property value="vkey"/>  
                    </td>  
                    <td colspan="2">&nbsp;</td>  
                    <td>  
                    </td>  
                </tr>  
                <s.iterator value="viewMap.get(#vkey)">  
                <tr>  
                    <td>房型名称:</td>  
                    <td>  
                        <s.property value="roomTypeName"/>  
                    </td>  
 
                    <td>价格:</td>  
                    <td>  
                        <s.iterator value="rates" id="rate">  
                        <s.date format="yyyy-MM-dd" name="startDate"/> / <s.date name="endDate" format="yyyy-MM-dd"/>  
                        &nbsp;&nbsp;纯房价:<s.property value="pureRoomFee"/>&nbsp;&nbsp;佣金<s.property value="commission"/>  
                        </s.iterator>  
                    </td>  
                </tr>  
                </s.iterator>  
                </tr>  
                </s.iterator> 

<s.iterator value="viewMap.keySet()" id="vkey">
                <tr>
                    <td>供应商:</td>
                    <td>
                        <s.property value="vkey"/>
                    </td>
                    <td colspan="2">&nbsp;</td>
                    <td>
                    </td>
                </tr>
                <s.iterator value="viewMap.get(#vkey)">
                <tr>
                    <td>房型名称:</td>
                    <td>
                        <s.property value="roomTypeName"/>
                    </td>

                    <td>价格:</td>
                    <td>
                        <s.iterator value="rates" id="rate">
                        <s.date format="yyyy-MM-dd" name="startDate"/> / <s.date name="endDate" format="yyyy-MM-dd"/>
                        &nbsp;&nbsp;纯房价:<s.property value="pureRoomFee"/>&nbsp;&nbsp;佣金<s.property value="commission"/>
                        </s.iterator>
                    </td>
                </tr>
                </s.iterator>
                </tr>
                </s.iterator>


这里id="vkey" vkey 就是这个Map的key
viewMap.get(#vkey) 的值就是List<HotelRoomTypeView>

如果是此map public Map<String, String> providerMap = new HashMap<String, String>();

就应该这样遍历
Java代码
<s.iterator value="providerMap">  
               <tr>  
                   <td>供应商:</td>  
                   <td>  
                       <s.property value="key"/>  
                   </td>  
                   <td><s.property value="value"/></td>  
               </tr>  
               </tr>  
               </s.iterator> 

嵌套Map的遍历应用

Map<String, Map<String, Integer>> appMap = new HashMap<String, Map<String, Integer>>();

<!--缩小搜索范围-->
<h2 class="tit1" title="缩小搜索范围"><span>缩小搜索范围</span></h2>

<div class="tycont sxsc">
<ul>
<s:if test="#application.appMap!=null">
 <s:iterator value="#application.appMap" id="vkey" >
   <!-- 获取酒店级别,类型等 -->
  <s:if test="#vkey==hotelStarMap">
    <li class="a1">酒店级别</li>
  </s:if>
   <s:if test="#vkey==hotelFacilityMap">
    <li class="a1">设施设备</li>
   
  </s:if>
   <s:if test="#vkey==hotelTypeMap">
    <li class="a1">酒店类型</li>
  </s:if>
   <s:iterator value="appMap.get(#vkey)" status="index" >
   <li class="<s:if test='#index.Event'>a2</s:if><s:else>a3</s:else>">
      <s:property value="key"/>(<s:property value="value"/>)
    </li>
   </s:iterator>
</s:iterator>
</s:if>
</ul>
</div>

分享到:
评论

相关推荐

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

    在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...

    struts2 iterator标签遍历二维数组

    通过以上内容可以看出,Struts2的`&lt;s:iterator&gt;`标签提供了强大的功能来处理复杂的迭代逻辑。正确理解和使用该标签对于开发基于Struts2的应用程序来说至关重要。在实际应用中,还需注意对数据结构的理解以及标签使用...

    struts2中的map遍历

    除了基本的遍历,Struts2还提供了丰富的OGNL表达式和标签库,可以进行更复杂的操作,比如条件判断、循环嵌套等。例如,你可以通过`&lt;s:if&gt;`和`&lt;s:else&gt;`标签来根据Map中的值进行不同的处理。 关于标签库的使用,我们...

    常用struts1遍历方法

    Struts1提供了多种遍历集合的方法,其中最为常用的便是`&lt;logic:iterate&gt;`标签。通过该标签,我们可以方便地遍历集合中的元素,并且对每个元素进行相应的操作。 #### 一、使用`&lt;logic:iterate&gt;`遍历List(或Vector)...

    struts标签 struts标签 struts标签

    学习和熟练使用Struts标签是成为高效Struts开发者的关键。为了更好地理解和应用这些标签,建议实践编写示例,查看官方文档和在线教程,这样可以加深对每个标签功能的理解,以及它们在实际场景中的应用。

    Struts2标签使用及API文档

    在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者更方便地构建用户界面。下面我们将深入探讨Struts2标签的使用及其API文档。 1. **Struts2标签的分类与功能** - **控制标签**:如`s:if`,...

    Struts2常用标签

    在实际使用中,结合OGNL表达式语言,Struts2标签可以非常灵活地处理各种复杂情况。例如,我们可以利用OGNL动态地计算条件、访问对象属性等。总的来说,掌握Struts2的标签库对于提高Struts2应用的开发质量和效率至关...

    Struts2分页-自定义标签-类似百度分页

    通过对`TagDemo`的分析和学习,你可以更好地理解和应用Struts2自定义标签实现分页功能。 总之,Struts2自定义标签提供了一种灵活的方式,使得开发者能够在JSP页面中方便地实现分页效果。通过自定义标签,我们可以将...

    struts2标签库

    - **`&lt;s:iterator&gt;`**:用于遍历集合中的元素,类似于Struts1中的`&lt;logic:iterate&gt;`,但Struts2的实现更为高效,并且支持更复杂的操作,如排序、过滤等。 #### 结论 Struts2标签库相比于Struts1提供了更多的功能和...

    Struts2 API 以及标签手册

    中文版的`struts2-tags-API.chm`文件是Struts2标签库的详细文档,包含了每个标签的用法、属性、示例和注意事项。通过查阅这个手册,开发者可以更深入地理解如何在JSP页面上使用Struts2标签,提高开发效率和代码质量...

    Struts2 使用OGNL遍历map方法详解

    本文将深入讲解如何使用OGNL遍历Map对象,以展示Struts2在处理复杂数据结构时的灵活性。 首先,让我们来看一下`MapAction`类的代码。在这个例子中,我们定义了四个不同类型的Map对象: 1. `private Map, String&gt; ...

    struts2标签解析

    下面将详细介绍几个常用且相对复杂的Struts2标签。 1. `s:textfield`: 这个标签用于创建HTML输入字段,通常用于表单数据的输入。它支持许多属性,如`name`(对应Action类中的属性)、`value`(默认值)、`label`...

    Struts2常用标签及说明

    ### Struts2常用标签及其应用详解 #### 一、引言 Struts2是一个基于MVC模式的开源Java Web框架,它提供了丰富的标签库来帮助开发者更高效地进行Web应用程序的开发。...希望本文能对您学习和使用Struts2有所帮助。

    struts2标签+ tiles lib

    本文将深入探讨Struts2标签和Tiles库的使用,以及它们在实际开发中的应用。 1. **Struts2标签** Struts2提供了丰富的标签库,这些标签使得开发者能够在JSP页面中方便地实现业务逻辑和控制流程。例如: - `s:...

    struts2简单例子

    通过学习和实践这个“struts2简单例子”,开发者可以逐步掌握Struts2的基本用法,为更复杂的Web应用开发打下坚实基础。记得不断探索Struts2的高级特性,如OGNL表达式、插件扩展等,以提升应用的灵活性和可维护性。

    struts2标签库 struts2标签库

    Struts2标签库是Java Web开发中的重要组成部分,它极大地简化了视图层的构建,提高了开发效率。Struts2框架提供了丰富的标签集合,这些标签主要用于JSP页面,帮助开发者处理常见任务,如数据展示、表单处理、逻辑...

    图像加法&struts用法标签大全

    通过学习和理解这些标签,开发者可以更好地掌握Struts框架的运用,从而构建出高效、稳定的Web应用程序。 至于“图像加法”部分,可能包含的源代码展示了如何在C#中实现图像的像素级加法操作。这种操作在图像处理中...

    struts2中iterator 标签的使用详解

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

    struts2标签库的使用pdf+Word格式

    除了这些基本标签,Struts2还提供了处理表单验证、国际化、循环、条件判断等复杂功能的标签。例如,`&lt;s:if&gt;`和`&lt;s:else&gt;`用于条件渲染,`&lt;s:iterator&gt;`用于遍历集合,`&lt;s:property&gt;`用于显示对象属性的值。 在...

    在Struts标签中对数据的几种遍历

    本文将重点介绍Struts中几种常用的数据遍历标签及其用法,包括`&lt;logic:iterate&gt;`标签遍历集合、遍历Map以及遍历Map中的Value集合等场景。 #### 遍历集合 **1. 基本用法** 在Struts中,`&lt;logic:iterate&gt;`标签被...

Global site tag (gtag.js) - Google Analytics