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文件详解 #### 一、引言 在Web开发中,XML(可扩展标记语言)是一种常用的数据交换格式。Struts2框架作为Java Web开发中的一种流行框架,提供了丰富的功能来处理XML数据。本文将详细介绍如何...
Struts2提供了文件流的方式来实现这一需求,这种方式避免了在服务器上生成临时文件,提高了效率并减少了服务器存储空间的占用。下面将详细讲解如何使用Struts2的文件流技术来实现这些功能。 首先,我们需要理解文件...
例如,`struts.xml`文件通常用于配置Struts2的核心设置。XML配置文件的好处是清晰、可读性强,但也可能导致配置文件过于庞大,不易维护。 **整合Struts2和jQuery** 在实际项目中,Struts2与jQuery的整合可以带来...
Struts.xml文件是Apache Struts 2框架的核心配置文件,它用于定义应用程序的行为、Action映射、结果页面、拦截器等关键组件。在深入讲解struts.xml之前,我们先来了解与之相关的struts.properties文件。 struts....
Struts.xml文件是Apache Struts 2框架的核心配置文件,用于定义应用的MVC(Model-View-Controller)架构和动作映射。它为应用程序提供了一种声明式的方式来配置Struts2的行为,使得开发者能够控制请求如何被处理,...
在Struts2的配置文件(struts.xml)中添加相应的配置。 3. **设置Content-Type和Content-Disposition**: - 在Action类中,使用`ValueStack`或`ActionContext`来设置HTTP响应的`Content-Type`和`Content-...
本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts2应用的基础组件。 **1. Struts2核心jar包** Struts2的核心jar包是实现框架功能的关键,主要包括以下几个部分: - **struts2-core...
总结起来,Struts2的XML表单验证是通过创建XML文件定义验证规则,然后在Action类中处理数据,通过框架自动进行验证并返回错误信息。这种方式使得验证逻辑与业务逻辑分离,提高了代码的可维护性和复用性。对于大型...
Struts2是一款强大的Java Web...通过合理利用这些注解,你可以创建出结构清晰、易于维护的Struts2项目,而无需担心过多的XML配置带来的困扰。在实际开发中,结合Spring等框架,还能进一步提升应用的灵活性和可扩展性。
在Struts2中结合使用Freemarker,可以方便地生成XML文本,这对于数据交换或XML配置文件的生成非常有用。以下将详细介绍如何在Struts2中利用Freemarker生成XML文本的步骤。 1. **环境配置** 首先,确保你已经安装并...
这是一个XML文件,它定义了应用程序的行为和映射。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" ...
3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List<HttpServletFileWrapper>`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...
这段配置定义了一个名为`download`的Action,将`DownloadFileAction`类与URL路径关联,并设置了结果类型为`stream`,这样Struts2会自动处理文件流的发送。 为了使用户能够触发文件下载,我们需要在JSP页面上创建一...
选择文件2" /> <!-- 可以根据需要添加更多文件上传字段 --> 上传" /> ``` 当用户提交表单后,Struts2会将所有上传的文件作为一个列表传递给Action。在`execute()`方法中,我们可以遍历`files`列表,对每个文件...
在struts.xml文件中,配置Action的执行路径和返回结果,确保Action能够正确响应用户的请求。 6. **错误处理**: 在实际应用中,还需要处理可能出现的各种异常情况,比如文件大小超出限制、文件类型不合法等,这...
在Struts2中,文件上传是通过`<s:file>`标签实现的,这个标签会创建一个`File`对象,与用户选择的文件对应。同时,Struts2提供了一个`FileUploadInterceptor`拦截器,用于处理文件上传的相关逻辑,包括验证文件大小...
若需要实现自定义的配置管理器,则需创建一个实现了`Configuration`接口的类,并在类中实现Struts 2配置文件的加载逻辑。 #### struts.locale 此属性指定了Web应用的默认Locale设置,用于确定应用的语言环境和区域...
5. **package配置文件**:除了`struts.xml`外,开发者还可以创建多个包(package)配置文件,以实现模块化的配置。这些文件可以放在`struts.xml`中引入,也可以通过`<include file="..."/>`标签进行引入。 加载顺序...
这个XML文件定义了应用的行为,如Action的映射、结果类型、拦截器链等。配置文件中的每个元素都有其特定含义,例如`<package>`定义了一个配置包,`<action>`定义了处理特定请求的Action,`<result>`定义了Action执行...
在`src/main/resources`或`src/main/webapp/WEB-INF/classes`目录下创建`struts.xml`文件,这是Struts2的核心配置文件。对于HelloWorld示例,可以创建一个简单的Action配置: ```xml <?xml version="1.0" encoding=...