`

利用OGNL语言和Struts2.0迭代标签,处理Map里嵌套Map的处理方法

阅读更多
1、Action的结构如下:

package com.ceno.mcps.cms.web.actions.contenttype;

import com.ceno.mcps.cms.ContentTypeManager;
import com.ceno.mcps.cms.model.ContentType;
import com.ceno.ejb.lookup.BeanLookup;

import java.util.Map;
import java.util.List;
import java.util.HashMap;
import java.util.ArrayList;

public class ToAddContentTypeAction
        extends ContentTypeAction
{
//定义JSP页面使用的List及Map;结构如下;
    private List<Long> list = new ArrayList<Long>();
    private Map<Long, Map<String, Integer>> map=new HashMap<Long, Map<String, Integer>>();

    public String execute()
            throws Exception
    {
        ContentTypeManager contentTypeManager = BeanLookup.getInstance().lookup(
                ContentTypeManager.class);
        contentTypes = contentTypeManager.getAllContentTypes();
        list.add(((Integer)1).longValue());
        list.add(((Integer)2).longValue());
        Map<String,Integer> temp1 = new HashMap<String, Integer>();
        temp1.put("temp1.1",3) ;
        temp1.put("temp1.2",4) ;
        Map<String,Integer> temp2 = new HashMap<String, Integer>();
        temp2.put("temp2.1",5) ;
        temp2.put("temp2.2",6) ;
        map.put(list.get(0), temp1);
        map.put(list.get(1), temp2);
        return SUCCESS;
    }

 

    public List<Long> getList()
    {
        return list;
    }

    public void setList(List<Long> list)
    {
        this.list = list;
    }

    public Map getMap()
    {
        return map;
    }

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


2、JSP页面的定义如下:

<s:iterator value="list">
   <s:select list="map.get(longValue()).entrySet()" listKey="getKey()" listValue="getValue()" name="map1"
       emptyOption="true"/>
</s:iterator>

以上即可完成现有需求;

分享到:
评论

相关推荐

    struts2.0常用标签文档

    本文档主要针对"struts2.0常用标签"进行详细讲解,帮助开发者更好地理解和使用这些标签。 1. **ognl表达式**:Struts2中的标签大部分都基于OGNL(Object-Graph Navigation Language)表达式,它用于在视图层和模型层...

    struts2.0中文教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单...

    struts 2.0系列2常用的Struts 2.0的标签(Tag)介绍

    在Struts 2.0中,所有的标签都位于"struts-tags"命名空间下,且支持多种表达语言,如OGNL、JSTL、Groovy和Velocity,相比Struts 1.x的EL,提供了更为丰富的表达能力。 接下来,我们详细讨论一些常用的Struts 2.0...

    struts2中的OGNL的源码

    其中,OGNL(Object-Graph Navigation Language)是Struts2中的核心表达语言,用于在视图层与模型层之间传递数据。在深入理解OGNL的源码之前,我们首先需要了解OGNL的基本概念和用法。 OGNL是一种强大的表达式语言...

    struts2.0标签使用源码

    了解Struts2.0标签的源码有助于我们更好地优化代码,例如,自定义标签以满足特定需求,或者在处理复杂数据结构时利用OGNL的灵活性。此外,还可以学习如何配置Struts2拦截器,结合标签库实现更强大的功能,如表单验证...

    struts2.0的特点

    Struts2.0还深度集成了Spring框架,利用Spring的IOC(Inversion of Control)和DI(Dependency Injection)特性进行依赖注入,这使得Action类和其他组件之间的依赖关系可以更清晰地管理,提高了代码的可读性和可测试...

    struts2.0中的ognl

    在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置对象属性,它在Struts2的核心组件中扮演着至关重要的角色。本篇文章将深入探讨OGNL在Struts2.0中的应用及其重要性。 ...

    Struts2.0视频教程+struts2.0中文教程

    1. **OGNL(Object-Graph Navigation Language)**:介绍Struts2中使用的表达式语言,用于在Action和视图之间传递数据。 2. **Action与Result**:详细阐述Action类的设计和编写,以及如何定义Result来控制流程跳转...

    Struts 2.0系列(MAX)

    Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...

    struts 2.0

    3. **OGNL(Object-Graph Navigation Language)**: OGNL是Struts 2.0中用于表达式语言,用于在Action和视图之间传递数据。通过OGNL,开发者可以方便地访问和修改对象属性,使得数据绑定更为简洁。 4. **配置方式**...

    Struts2.0的api

    OGNL(Object-Graph Navigation Language)则是Struts2中的表达式语言,用于在视图和模型之间传递数据。此外,Struts2还支持自定义拦截器、过滤器Dispatcher和插件机制,这大大增强了框架的可扩展性和灵活性。 在...

    Struts2.0 Jar包

    Struts2提供了全局异常处理机制,可以捕获和处理应用中抛出的异常,并根据异常类型决定如何响应用户。 9. **国际化支持**: Struts2支持多语言环境,通过资源包(Properties文件)可以轻松实现应用程序的国际化。...

    三大框架中文文档中的struts2.0开发手册(程序员必看)

    这个"三大框架中文文档中的struts2.0开发手册"为程序员提供了一份详尽的参考资料,帮助他们理解和掌握Struts2.0的核心概念、配置以及实践方法。 Struts2.0的核心特性包括: 1. **Action和结果类型**:Struts2.0中的...

    Struts_2.0从入门到精通

    OGNL(Object-Graph Navigation Language)是Struts2.0中的一种强大且灵活的表达式语言,它用于访问和操作对象图。通过OGNL,开发者可以方便地获取对象属性,执行方法调用,以及进行条件判断等,大大增强了页面脚本...

    struts2.0标签教程详解资料

    2. 利用OGNL提升标签的灵活性,动态地获取和设置属性值。 3. 结合Struts2的数据校验功能,提高用户体验。 4. 使用主题和国际化特性,提供更友好的用户界面。 通过深入学习和实践Struts2.0的标签,开发者可以更好地...

    struts2.0标签详解

    - 避免过多的Java脚本,尽量利用Struts2的标签来处理业务逻辑和展示。 - 结合OGNL表达式,充分利用其强大的数据访问和运算能力。 总结,Struts2.0的标签库为开发者提供了强大且灵活的工具,极大地提高了开发效率和...

    struts2.0入门案例

    Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...

    Struts2.0学习系列 以及 Struts2.0安装包

    Struts2.0框架整合了多种开源项目,如FreeMarker或JSP作为视图技术,OGNL(Object-Graph Navigation Language)作为表达式语言,以及拦截器机制来处理请求。框架的核心部分包括Action类,它是业务逻辑的载体;配置文件...

    struts2.0的 jar包和源文件

    通过阅读源代码,开发者可以深入理解Struts2.0的工作机制,包括请求处理流程、拦截器链的执行、配置解析等,这对于调试、优化和自定义框架行为非常有帮助。 学习Struts2.0,你需要掌握以下几个重要概念: - **...

    struts2.0教程合集

    包含了Struts2.0的进阶主题,如动态方法调用(Dynamic Method Invocation,DMI)、OGNL(Object-Graph Navigation Language)表达式语言的使用、异常处理机制、国际化(Internationalization, i18n)支持以及文件上传...

Global site tag (gtag.js) - Google Analytics