`
mushme
  • 浏览: 790015 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

struts2生成xml文件流

 
阅读更多
struts2支持直接将文件流返回到前台的,所以理论上你有好几种方法来实现生成xml
说默认的吧,只要将type="stream",这样你就可以输出xml、csv等等
1.先生成数据流

public class XMLAction  extends ActionSupport {
	private InputStream xmlStream;  //定义一输入流
	@Override
	public String execute() throws Exception {
		String result = "success";
		StringBuffer buf = new StringBuffer();
		buf.append("<cc>this is xml</cc>");
		
		try{
			xmlStream = new ByteArrayInputStream(buf.toString().getBytes());
		}catch(Exception e){
			e.printStackTrace();
			result = "false";
		}
		return result;
	}
	public InputStream getXmlStream() {
		return xmlStream;
	}
	public void setXmlStream(InputStream xmlStream) {
		this.xmlStream = xmlStream;
	}
}

2.配置文件
<action name="exportXml" class="exportXmlAction">
	      <result name="success" type="stream">  
	        <!-- 文件类型 --> 
	        <param name="contentType">text/plain</param> 
	        <!-- xmlStream 与对应action中的输入流的名字要一致 --> 
	        <param name= "inputName">xmlStream</param>  
	      </result>
	  	</action>

3.完成了。

其实xml文件和html文件一样,都是纯文本的,也就是text/plain的,所有一般来讲还有个更BT的方法来实现输出xml的。
那就是action仍然做数据源的处理,不做文件封装(上面的代码实际action里做了xml文件的封装),结果返回到jsp,在jsp上做xml文件的展现,因为xml本身就是纯文本的。
两种方案,第一种在代码中做xml封装,这样就少写一个jsp页面,但改动的话,得重启服务器
第二种在jsp中做xml的封装,多写一个jsp

理论上,这种代码很少改,所以推荐用第一种方案。
分享到:
评论

相关推荐

    struts2如何生成XML文件

    ### Struts2生成XML文件详解 #### 一、引言 在Web开发中,XML(可扩展标记语言)是一种常用的数据交换格式。Struts2框架作为Java Web开发中的一种流行框架,提供了丰富的功能来处理XML数据。本文将详细介绍如何...

    Struts2文件流方式导出下载excel、Txt、image图片

    Struts2提供了文件流的方式来实现这一需求,这种方式避免了在服务器上生成临时文件,提高了效率并减少了服务器存储空间的占用。下面将详细讲解如何使用Struts2的文件流技术来实现这些功能。 首先,我们需要理解文件...

    struts2 jquery xml

    例如,`struts.xml`文件通常用于配置Struts2的核心设置。XML配置文件的好处是清晰、可读性强,但也可能导致配置文件过于庞大,不易维护。 **整合Struts2和jQuery** 在实际项目中,Struts2与jQuery的整合可以带来...

    struts.xml文件详解.doc

    Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....

    struts.xml文件详解示例代码

    Struts.xml文件是Apache Struts 2框架的核心配置文件,用于定义应用的MVC(Model-View-Controller)架构和动作映射。它为应用程序提供了一种声明式的方式来配置Struts2的行为,使得开发者能够控制请求如何被处理,...

    struts2实现文件下载功能

    在Struts2的配置文件(struts.xml)中添加相应的配置。 3. **设置Content-Type和Content-Disposition**: - 在Action类中,使用`ValueStack`或`ActionContext`来设置HTTP响应的`Content-Type`和`Content-...

    struts核心jar包及xml配置文件

    本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts2应用的基础组件。 **1. Struts2核心jar包** Struts2的核心jar包是实现框架功能的关键,主要包括以下几个部分: - **struts2-core...

    struts2官方例子7-表单验证 xml形式的验证

    总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...

    struts2文件上传下载源代码

    1. **配置Struts2 Action**:在`struts.xml`配置文件中,你需要定义一个Action,该Action负责处理文件上传请求。Action的类需要继承自`ActionSupport`,并覆盖`execute()`方法,以便处理上传的文件。 2. **设置...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    Struts2是一款强大的Java Web...通过合理利用这些注解,你可以创建出结构清晰、易于维护的Struts2项目,而无需担心过多的XML配置带来的困扰。在实际开发中,结合Spring等框架,还能进一步提升应用的灵活性和可扩展性。

    Struts2与Freemarker生成xml文本详细步骤

    在Struts2中结合使用Freemarker,可以方便地生成XML文本,这对于数据交换或XML配置文件的生成非常有用。以下将详细介绍如何在Struts2中利用Freemarker生成XML文本的步骤。 1. **环境配置** 首先,确保你已经安装并...

    struts2配置文件

    这是一个XML文件,它定义了应用程序的行为和映射。例如: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" ...

    swfuplaod+struts2实现多文件上传

    3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List&lt;HttpServletFileWrapper&gt;`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...

    Struts2之struts2文件下载详解案例struts012

    这段配置定义了一个名为`download`的Action,将`DownloadFileAction`类与URL路径关联,并设置了结果类型为`stream`,这样Struts2会自动处理文件流的发送。 为了使用户能够触发文件下载,我们需要在JSP页面上创建一...

    struts2实现多文件上传功能

    选择文件2" /&gt; &lt;!-- 可以根据需要添加更多文件上传字段 --&gt; 上传" /&gt; ``` 当用户提交表单后,Struts2会将所有上传的文件作为一个列表传递给Action。在`execute()`方法中,我们可以遍历`files`列表,对每个文件...

    Struts2+上传文件源码

    在struts.xml文件中,配置Action的执行路径和返回结果,确保Action能够正确响应用户的请求。 6. **错误处理**: 在实际应用中,还需要处理可能出现的各种异常情况,比如文件大小超出限制、文件类型不合法等,这...

    struts2文件上传,文件大小设置

    在Struts2中,文件上传是通过`&lt;s:file&gt;`标签实现的,这个标签会创建一个`File`对象,与用户选择的文件对应。同时,Struts2提供了一个`FileUploadInterceptor`拦截器,用于处理文件上传的相关逻辑,包括验证文件大小...

    Struts2属性文件详解

    若需要实现自定义的配置管理器,则需创建一个实现了`Configuration`接口的类,并在类中实现Struts 2配置文件的加载逻辑。 #### struts.locale 此属性指定了Web应用的默认Locale设置,用于确定应用的语言环境和区域...

    struts2配置文件加载顺序

    5. **package配置文件**:除了`struts.xml`外,开发者还可以创建多个包(package)配置文件,以实现模块化的配置。这些文件可以放在`struts.xml`中引入,也可以通过`&lt;include file="..."/&gt;`标签进行引入。 加载顺序...

    struts2+xml集成应用的例子

    这个XML文件定义了应用的行为,如Action的映射、结果类型、拦截器链等。配置文件中的每个元素都有其特定含义,例如`&lt;package&gt;`定义了一个配置包,`&lt;action&gt;`定义了处理特定请求的Action,`&lt;result&gt;`定义了Action执行...

Global site tag (gtag.js) - Google Analytics