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

理论上,这种代码很少改,所以推荐用第一种方案。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值