`
pblz
  • 浏览: 21648 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

struts2中遍历Map集合总结(转)

阅读更多
前奏Demo:

1.Action代码:

package com.demo.action;

import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class TagAction extends ActionSupport {
private Map map = new HashMap();

public Map getMap() {
   return map;
}

public void setMap(Map map) {
   this.map = map;
}

public String execute() throws Exception{
   Book book = null;

   for(int i=0;i<10;i++){
    book = new Book(i,"book"+i);
    map.put(i, book);
   }
   ServletActionContext.getRequest().getSession().setAttribute("map", map);
   return SUCCESS;
}
}

class Book{
private int id;
private String name;

public int getId() {
   return id;
}

public void setId(int id) {
   this.id = id;
}

public String getName() {
   return name;
}

public void setName(String name) {
   this.name = name;
}

Book(int id,String name){
   this.id = id;
   this.name = name;
}
}

2.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
</head>

<body>
<a href="/struts2/testMap.action">测试</a>
  
  
   <table border="1">
    <tr><td>遍历map中的key</td></tr>
    <tr><td>ID</td></tr>
    <s:iterator value="map.keySet()" id="bookId"> <!--value=“map.keys”也可以-->
     <tr><td><s:property value="#bookId"/></td></tr>
    </s:iterator>
   </table>
   <br>
  
   <table border="1">
    <tr><td colspan="2">通过Key遍历map中的value(value值是Book类型的对象)</td></tr>
    <tr><td>ID</td><td>name</td></tr>
    <s:iterator value="map.keySet()" id="bookId">
     <tr>
      <td><s:property value="map.get(#bookId).id"/></td>
      <td><s:property value="map.get(#bookId).name"/></td>
     </tr>
    </s:iterator>
   </table>
   <br>
   
   <table border="1">
    <tr><td colspan="2">通过嵌套的Iterator标签遍历map中的value(value值是Book类型的对象)</td></tr>
    <tr><td>ID</td><td>name</td></tr>
    <s:iterator value="map.keySet()" id="bookId">
     <s:iterator value="map.get(#bookId)" id="book">
      <tr>
      <td><s:property value="#book.id"/></td>
      <td><s:property value="#book.name"/></td>
     </tr>
     </s:iterator>
    
    </s:iterator>
   </table>
   <br>
   
   <table border="1">
    <tr><td colspan="2">在session中通过Key遍历map中的value(value值是Book类型的对象)</td></tr>
    <tr><td>ID</td><td>name</td></tr>
    <s:iterator value="#session.map.keySet()" id="bookId">
     <tr>
      <td><s:property value="#session.map.get(#bookId).id"/></td>
      <td><s:property value="#session.map.get(#bookId).name"/></td>
     </tr>
    </s:iterator>
   </table>
    <br>
    
    <table border="1">
    <tr><td colspan="2">在session中通过嵌套的Iterator标签遍历map中的value(value值是Book类型的对象)</td></tr>
    <tr><td>ID</td><td>name</td></tr>
    <s:iterator value="#session.map.keySet()" id="bookId">
     <s:iterator value="map.get(#bookId)" id="book">
      <tr>
      <td><s:property value="#book.id"/></td>
      <td><s:property value="#book.name"/></td>
     </tr>
     </s:iterator>
    </s:iterator>
   </table>

</body>
</html>


OK,到此为止,测试成功!然后将其用在我的项目中

需求:

     有一个list集合(保存的是广告位)传到jsp页面中,管理员可以销售广告位(选中广告位),选中之后要保存到Session里的Map对象中。当以后再进入jsp页面时就要遍历List和session中的Map,如果List集合中的广告位出现在Map中,就使其复选框呈选中状态!

    action代码省略:

    jsp代码如下:

<table width="100%" cellspacing="0" cellpadding="3" align="center" class="StyleBorderOnly" >
     <tr>
      <td align="center" class="StylePopped" width="5%">选择</td>
   <td align="center" class="StylePopped">广告位名称</td>
   <td align="center" class="StylePopped">所属终端组</td>
         <td align="center" class="StylePopped">起始时间</td>
   <td align="center" class="StylePopped">终止时间</td>
   <td align="center" class="StylePopped">价格</td>
</tr>
<s:iterator value="listAdSpaces">
   <tr height="20" bgcolor="#FFFFFF" onmouseover="this.bgColor='beige';" onmouseout="this.bgColor='#FFFFFF';">
        <td align="center" class="TableColA">
        <input type="checkbox" name="ids" value="<s:property value="id"/>"
        <s:iterator value="#session.cart.cart.keySet()" id="id">
        <s:iterator value="#session.cart.cart.get(#id)" id="space">
                <s:if test="id==#space.id">
                 checked
                  </s:if>
             </s:iterator>
        </s:iterator>
         /></td>
        <td class="TableColA" align="center"><s:property value="spaceName"/></td>
    <td class="TableColA" align="center"><s:property value="playList.terminalGroup.groupName"/></td>
    <td class="TableColA" align="center"><s:date name="playList.startTime" format="hh:mm:ss"/></td>
    <td class="TableColA" align="center"><s:date name="playList.endTime" format="hh:mm:ss"/></td>
    <td class="TableColA" align="center"><s:property value="price"/></td>
</tr>
</s:iterator>
    <tr>
    <td colspan="2"> 
     <input name="Submit3" type="submit" class="button1" value="确 定" onClick="selectAdSpace()">
     <input name="Submit3" type="submit" class="button1" value="关 闭" onClick="window.close()"> 
    </td>
</tr>
</table>   


转自:http://hi.baidu.com/wabdqn/blog/item/64b342357a0b9c1b91ef39d7.html
分享到:
评论

相关推荐

    struts2中的map遍历

    Struts2是一个非常流行的...在Struts2中,我们可以使用OGNL(Object-Graph Navigation Language)表达式语言来遍历Map。 在Struts2中,Map遍历通常在JSP页面上进行,使用OGNL表达式。以下是一个简单的例子: ```jsp ...

    struts2遍历集合

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

    遍历Map集合.pdf

    总结来说,遍历Map集合是在Java编程中十分基础且重要的操作,可以有多种方式实现。Map集合不仅限于存储基本类型的键值对,还可以存储复杂类型的对象,这为我们提供了极大的灵活性。对于Web开发者,了解如何在JSP页面...

    计算机遍历Map集合.pdf

    遍历Map集合是常见的操作,可以用于打印、处理或检查Map中的数据。下面我们将详细讲解几种遍历Map集合的方法。 首先,我们来看普通Java类中的遍历方式: 1. **遍历键集合**:Map集合提供了keySet()方法,返回一个...

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

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

    常用struts1遍历方法

    除了遍历List类型的集合之外,`&lt;logic:iterate&gt;`还支持遍历Map类型的集合。在遍历时,可以同时获取Map中的key和value。 **示例代码:** ```jsp HashMap months = new HashMap(); months.put("Jan", "January"); ...

    struts2迭代 Map List

    在这个场景下,我们关注的是如何在Struts2中迭代Map和List对象。这两种数据结构在Web开发中经常被用到,特别是在展示表单数据或动态渲染页面元素时。 首先,让我们深入了解`struts2-taglib`,这是一个包含Struts2...

    详解Struts2标签遍历

    Struts2标签遍历详解 Struts2标签遍历是Struts2框架中的一个重要组件,用于在JSP页面中遍历集合中...总结,Struts2标签遍历提供了多种方式来遍历集合中的元素,并提供了多种属性来获取当前迭代的索引信息和元素信息。

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

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

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

    在Struts2框架中,开发Web应用时常常需要在JSP页面与Action之间传递数据,以...通过以上步骤,我们可以高效地在Struts2中处理并展示集合数据。理解和掌握这一流程,对于提升Web应用的开发效率和质量有着显著的帮助。

    Struts iterator JSP Map 中嵌套 Map

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

    Struts2中ognl遍历数组,list和map方法详解

    在Struts2中,也可以使用 `&lt;s:iterator /&gt;` 标签遍历Map对象。Map对象中有几对key-value就迭代几次,分别使用 `&lt;s:property value="key"/&gt;` 和 `&lt;s:property value="value"/&gt;` 。 四、iterator的value iterator的...

    struts2集合示例

    4. **JSP页面**:在JSP页面中,你可以使用Struts2的标签库来遍历和显示集合中的元素。例如,使用`s:iterator`标签来遍历Set和List: ``` &lt;p&gt;Element: &lt;s:property /&gt;&lt;/p&gt; &lt;p&gt;Element: &lt;s:property /&gt;&lt;/p&gt; ...

    struts2中iterator 标签的使用详解

    ### Struts2中Iterator标签的深入解析与应用 在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示...

    Struts2页面取值总结

    - **迭代遍历**: `&lt;s:iterator value="userList" ...&gt;`用于遍历集合如List或Map,配合`&lt;s:property&gt;`展示集合中的每个元素。 - **URL生成**: `&lt;s:url action="" ...&gt;`用于生成URL并可通过`s:param`子元素传递参数。...

    struts2标签使用例子

    - `s:iterator`:遍历集合数据,如List、Map等,用于循环渲染数据。 - `s:if` 和 `s:else`:条件判断标签,类似于Java中的if...else语句。 - `s:foreach`:遍历数组或集合,类似Java的for-each循环。 4. **...

    Struts中List里嵌套Map

    2. 遍历List和Map时,确保逻辑正确,避免越界或空指针异常。 3. 对于Map的键,最好使用常量,以保持代码的可读性和一致性。 关于工具的使用,可能涉及到IDEA、Eclipse等Java开发环境中的插件,它们可以帮助开发者...

    在struts2中要实现for循环

    `&lt;s:iterator&gt;`标签是Struts2中最常用的标签之一,它可以用来遍历集合(如List、Set、Map等)。但是,如果想要实现类似Java中的`for`循环功能,可以利用`org.apache.struts2.util.Counter`类来实现。 ### 实现步骤 ...

    Struts标签集合简介

    此标签类似于Struts1中的JavaBean引用,但在Struts2中并不常用,因为Struts2更倾向于使用Action来处理业务逻辑。 C. `&lt;s:checkbox&gt;`, `&lt;s:checkboxlist&gt;`, `&lt;s:combobox&gt;`, `&lt;s:component&gt;`: 这些标签用于创建复选...

    struts2示例(包含源代码)

    压缩包中的"MapUrl"可能是一个配置文件或者类,用于映射URL到相应的Action,这是Struts2中处理请求的核心机制。在Struts2的配置文件(struts.xml或struts.properties)中,我们可以定义Action的名称、方法和返回的...

Global site tag (gtag.js) - Google Analytics