`
mjs123
  • 浏览: 35514 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

把map 解析成xml 并通过struts 2 框架转化发送IO流

阅读更多

import java.util.List;
import java.util.Map;

import com.siku.manorage.common.exception.ManorageException;


/**
 * 返回给客户端的信息
 *
 * @author user
 *
 */
public class SendClientXml

 /**
  * 把一个map 对象转化为一个string 类型的xml 文件
  * @param o 传过来一个map 对象
  * @return   返回一个string 类型的xml 文件
  */
 @SuppressWarnings("unchecked")
 public String sendClientXml(Map<String,Object> o)
 {
  StringBuilder xml =new StringBuilder();
  xml.append( "<command>");
  for(String s:o.keySet())
  {
   Object a = o.get(s);
   if(null == a)
   {
    a = new String("");
   }
   Class c = a.getClass();
   Class cc [] =c.getInterfaces();
   boolean b = false;
   for(int i =0; i< cc.length;i++){
    if(cc[i].toString().contains("java.util.List")){
     b = true;
        break;
    }
   }
   if(b==true)
   {  
    List li = (List)a;
    
    for(int i =0; i < li.size(); i++)
    {
     xml.append("<item>");
        Map<String,Object> map = (Map<String,Object>)li.get(i);
        for( Map.Entry<String,Object> n: map.entrySet()){
         xml.append("<"+n.getKey()+">" +n.getValue() +"</"+n.getKey()+">");
        }
        xml.append("</item>");
    }
    
   }
   else{
    xml.append("<"+s+">" +a +"</"+s+">");
   }
  }
  xml.append("</command>");
  return xml.toString();
}
 /**
  * 根据返回的异常信息得到xml 文件返回给前台
  * @param e   ManorageException 异常
  * @return string
  */
 public String sendclients (ManorageException e){
  String xml = "<command>";
  xml += "<s>"+e.getErrorNum()+"</s>";
  xml += "<msgType>" +e.getCommandId()+"</msgType>";
  xml += "<key>" +e.getKey()+"</key>";
  xml += "</command>";
  
  return xml;
 }
 
 public String sendclientx(ManorageException e){
  String xml = "<command>";
  xml += "<s>"+e.getErrorNum()+"</s>";
  xml += "<msgType>" +e.getCommandId()+"</msgType>";
  xml += "<key>" +e.getKey()+"</key>";
  xml += "<a>"+e.getDeductMoney()+"</a>";
  xml += "</command>";
  
  return xml;
 }
 
 
}

分享到:
评论

相关推荐

    Struts2中使用JSON+YUI之一[包含功能代码段]

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中整合JSON(JavaScript Object Notation)和YUI(Yahoo User Interface Library)可以实现高效的异步数据交互,提升用户体验...

    struts2json.txt

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### Struts2与JSON集成 ... 通过以上步骤,开发者可以有效地利用Struts2框架结合JSON技术实现Ajax交互功能,提升用户体验并优化应用性能。

    struts2实现文件上传(单个+多个文件上传

    ### Struts2实现文件上传(单个+多个文件上传) #### 一、单个文件上传 在Struts2框架中实现文件上传是一项常见的需求。本文将详细介绍如何在Struts2中实现单个文件的上传。 ##### JSP 页面设计 首先,我们需要在...

    struts2和hibernate 的帮助文档还有其他的帮助文档

    此外,Struts2还支持多种视图技术,如JSP、FreeMarker、Velocity等,并提供了丰富的插件体系,如JSON、XML、Ajax支持。 接下来,我们讨论Hibernate。Hibernate作为ORM工具,能够将Java对象与数据库表进行映射,减少...

    struts课堂笔记下载

    通过这种方式,表单数据会被打包成二进制流形式发送,这使得服务器能够接收到文件的真实内容。 3. **text/plain**:主要用于简单的文本表单提交,例如直接通过表单发送邮件。 #### 使用Struts2进行文件上传 ...

    Struts 2 第三章

    同时,在`web.xml`文件中配置`FilterDispatcher`过滤器,这是启动Struts 2框架的关键配置。 2. **编写登录页面 (login.jsp)**: 在项目的`WebRoot`目录下创建`login.jsp`文件。该文件定义了一个简单的HTML表单,允许...

    JAVA 经典大全(从基础到框架)

    2. **Java集合框架**:Java集合框架是存储和操作对象的重要工具,包括List、Set、Queue、Map等各种接口和实现类,如ArrayList、LinkedList、HashMap等。理解并熟练使用这些数据结构对于提高代码效率至关重要。 3. *...

    Java实用资料java、html、struts、Hibernate、spring、logic

    1. **Java基础**:包括变量、数据类型、控制流程(if、switch、for、while)、类与对象、封装、继承、多态、异常处理、集合框架(List、Set、Map)、IO流、线程、网络编程等基础概念和用法。 2. **HTML**:HTML标记...

    freeMaker的应用

    2. **使用FreeMarker的Result**:通过在`struts.xml`文件中配置`&lt;result&gt;`标签来指定使用FreeMarker作为视图渲染器。 3. **访问Servlet/JSP范围对象**:在FreeMarker模板中可以通过特定的方式访问Servlet/JSP范围内...

    文件上传及下载

    Struts2框架通过解析这种请求,提取出文件内容并存储到服务器上。 1. **配置Struts2的文件上传支持**: - 在`struts.xml`配置文件中,为Action类启用文件上传特性,需添加`&lt;interceptor-ref name="fileUpload"/&gt;`...

    MF00202-JAVA框架.zip

    此外,熟悉集合框架(如List、Set、Map接口及其实现)、IO流、多线程和网络编程也是Java开发者的基础技能。 2. **Spring框架**: Spring是最广泛应用的Java企业级应用框架,提供依赖注入(DI)、面向切面编程(AOP)...

    java必备知识点大全.pdf

    Struts2的运行原理:Struts2是在Struts1和WebWork技术基础上进行了合并的一个MVC框架。 Struts2的体系结构:Struts2由核心过滤器、拦截器和结果类型等组成。 SpringMVC的运行原理:SpringMVC是Spring框架的一部分...

    ssh框架技术支持

    - **java.io** 提供了输入/输出流相关的类,用于文件读写等操作。 - **java.awt** 和 **java.swing** 用于图形用户界面开发。 - **java.lang** 包含了语言本身的一些类,如 `String`、`Object` 等。 **5. 集合框架*...

    java 面试宝典面试宝典

    5. **IO流**:学习输入输出流的基本原理,包括字符流和字节流,以及缓冲流、对象流、转换流等高级主题。 6. **多线程**:掌握线程的创建方式,线程同步机制(如synchronized、wait/notify、Lock接口等),以及...

    SSH整合文档

    - **作用**:Struts2是一个基于MVC架构的开源Web框架,它提供了丰富的标签库和拦截器,简化了Web应用的开发过程。Struts2-2.2.1版本在此基础上进一步增强了性能和安全性。 **2. antlr-2.7.2.jar** - **作用**:...

    海辉面试题

    - **Struts2**:默认情况下,Action也是单例模式,但可以通过配置实现每次请求一个新的实例。 #### 10. Struts1.X与Struts2.X有哪些区别 - **架构差异**:Struts1使用命令模式,而Struts2采用拦截器模式。 - **MVC...

    Java软件开发工程师培训课程体系.pdf

    1. 第一阶段,核心Java2 CoreJava,重点在于奠定Java基础,学习基本语法、数据结构、核心API,深入理解面向对象编程,并涉及I/O、多线程、网络编程、XML解析和新特性等内容。这个阶段的目标是掌握Java的核心语法和...

    面试总结

    在面试中,Java的基础知识如封装、继承、多态、异常处理、集合框架(List、Set、Map)、线程同步、IO流、反射等都是常见考点。此外,Java 8及以后版本的新特性,如Lambda表达式、Stream API、日期时间API等也是考察...

    Java软件开发工程师培训课程体系借鉴.pdf

    - 掌握Java的基础技术如IO、集合框架、多线程、网络编程和XML解析。 2. **Web编程技术阶段**: - 学习前端技术HTML、CSS、JavaScript和Ajax。 - 熟悉后端技术如Servlet、过滤器和监听器。 - 完成阶段项目,实践...

    2017年尚学堂Java培训课程大纲.docx

    - **IO流技术及应用**:讲解文件读写、网络数据传输等场景下的IO流技术,包括字节流、字符流的使用方法。 - **Java集合框架**:详细介绍集合框架中的List、Set、Map等接口及其具体实现类,如ArrayList、LinkedList、...

Global site tag (gtag.js) - Google Analytics