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是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中整合JSON(JavaScript Object Notation)和YUI(Yahoo User Interface Library)可以实现高效的异步数据交互,提升用户体验...
根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### Struts2与JSON集成 ... 通过以上步骤,开发者可以有效地利用Struts2框架结合JSON技术实现Ajax交互功能,提升用户体验并优化应用性能。
### Struts2实现文件上传(单个+多个文件上传) #### 一、单个文件上传 在Struts2框架中实现文件上传是一项常见的需求。本文将详细介绍如何在Struts2中实现单个文件的上传。 ##### JSP 页面设计 首先,我们需要在...
此外,Struts2还支持多种视图技术,如JSP、FreeMarker、Velocity等,并提供了丰富的插件体系,如JSON、XML、Ajax支持。 接下来,我们讨论Hibernate。Hibernate作为ORM工具,能够将Java对象与数据库表进行映射,减少...
通过这种方式,表单数据会被打包成二进制流形式发送,这使得服务器能够接收到文件的真实内容。 3. **text/plain**:主要用于简单的文本表单提交,例如直接通过表单发送邮件。 #### 使用Struts2进行文件上传 ...
同时,在`web.xml`文件中配置`FilterDispatcher`过滤器,这是启动Struts 2框架的关键配置。 2. **编写登录页面 (login.jsp)**: 在项目的`WebRoot`目录下创建`login.jsp`文件。该文件定义了一个简单的HTML表单,允许...
2. **Java集合框架**:Java集合框架是存储和操作对象的重要工具,包括List、Set、Queue、Map等各种接口和实现类,如ArrayList、LinkedList、HashMap等。理解并熟练使用这些数据结构对于提高代码效率至关重要。 3. *...
1. **Java基础**:包括变量、数据类型、控制流程(if、switch、for、while)、类与对象、封装、继承、多态、异常处理、集合框架(List、Set、Map)、IO流、线程、网络编程等基础概念和用法。 2. **HTML**:HTML标记...
2. **使用FreeMarker的Result**:通过在`struts.xml`文件中配置`<result>`标签来指定使用FreeMarker作为视图渲染器。 3. **访问Servlet/JSP范围对象**:在FreeMarker模板中可以通过特定的方式访问Servlet/JSP范围内...
Struts2框架通过解析这种请求,提取出文件内容并存储到服务器上。 1. **配置Struts2的文件上传支持**: - 在`struts.xml`配置文件中,为Action类启用文件上传特性,需添加`<interceptor-ref name="fileUpload"/>`...
此外,熟悉集合框架(如List、Set、Map接口及其实现)、IO流、多线程和网络编程也是Java开发者的基础技能。 2. **Spring框架**: Spring是最广泛应用的Java企业级应用框架,提供依赖注入(DI)、面向切面编程(AOP)...
Struts2的运行原理:Struts2是在Struts1和WebWork技术基础上进行了合并的一个MVC框架。 Struts2的体系结构:Struts2由核心过滤器、拦截器和结果类型等组成。 SpringMVC的运行原理:SpringMVC是Spring框架的一部分...
- **java.io** 提供了输入/输出流相关的类,用于文件读写等操作。 - **java.awt** 和 **java.swing** 用于图形用户界面开发。 - **java.lang** 包含了语言本身的一些类,如 `String`、`Object` 等。 **5. 集合框架*...
5. **IO流**:学习输入输出流的基本原理,包括字符流和字节流,以及缓冲流、对象流、转换流等高级主题。 6. **多线程**:掌握线程的创建方式,线程同步机制(如synchronized、wait/notify、Lock接口等),以及...
- **作用**:Struts2是一个基于MVC架构的开源Web框架,它提供了丰富的标签库和拦截器,简化了Web应用的开发过程。Struts2-2.2.1版本在此基础上进一步增强了性能和安全性。 **2. antlr-2.7.2.jar** - **作用**:...
- **Struts2**:默认情况下,Action也是单例模式,但可以通过配置实现每次请求一个新的实例。 #### 10. Struts1.X与Struts2.X有哪些区别 - **架构差异**:Struts1使用命令模式,而Struts2采用拦截器模式。 - **MVC...
1. 第一阶段,核心Java2 CoreJava,重点在于奠定Java基础,学习基本语法、数据结构、核心API,深入理解面向对象编程,并涉及I/O、多线程、网络编程、XML解析和新特性等内容。这个阶段的目标是掌握Java的核心语法和...
在面试中,Java的基础知识如封装、继承、多态、异常处理、集合框架(List、Set、Map)、线程同步、IO流、反射等都是常见考点。此外,Java 8及以后版本的新特性,如Lambda表达式、Stream API、日期时间API等也是考察...
- 掌握Java的基础技术如IO、集合框架、多线程、网络编程和XML解析。 2. **Web编程技术阶段**: - 学习前端技术HTML、CSS、JavaScript和Ajax。 - 熟悉后端技术如Servlet、过滤器和监听器。 - 完成阶段项目,实践...
- **IO流技术及应用**:讲解文件读写、网络数据传输等场景下的IO流技术,包括字节流、字符流的使用方法。 - **Java集合框架**:详细介绍集合框架中的List、Set、Map等接口及其具体实现类,如ArrayList、LinkedList、...