采用非resultType是stream
直接acton方法里面返回return null
struts2
InputStream io = null;
try{
io = repositoryService.getResourceAsStream(deploymentId,fileName);
if(io == null){
//Struts2Utils.renderHtml("<html><head></head><body></body></html>");
logger.warn("io 为null,"+deploymentId+","+fileName);
Struts2Utils.renderText("读取数据为null(deploymentId:"+deploymentId+",fileName:"+fileName+"),该业务未定义工作流或流程图有误!");
return ;
}
if(isImage){
//response.setContentType("image/png");
response.setContentType("image/x-png");
}else{
response.setContentType("text/xml");
}
byte[] buf = new byte[1];
int len = 0;
OutputStream os = response.getOutputStream();//这个位置很重要,如果有报错一定不能执行到这里
while((len = io.read(buf)) != -1){
os.write(buf, 0, len);
}
os.flush();
os.close();
buf = null;
}catch(IOException e){
addActionError(e.getMessage());
}finally{
if (io != null) {
try {io.close();} catch ( IOException e ) {e.printStackTrace();}
}
}
分享到:
相关推荐
Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex
Struts2文件流方式导出下载excel、Txt、image图片,直接返回给浏览器提示下载,不生成临时文件,直接保存在客户端
使用struts2 上传图片到项目webapps目录下 然后生成缩略图 返回到页面显示缩略图
Struts框架中struts-config.xml文件配置小结
struts2官方例子7-表单验证 xml形式的验证,主要是在相应的action类旁,新建一个对应的xml文件,进行验证
struts2中两种validation.xml的配置方式
struts-config.xml struts标准配置文件 struts-config
struts.xml文件配置解释,对action配置进行说明
绝对的好东西 struts2.0中struts.xml配置文件详解
struts-config.xml配置文件对学struts的人必备的查找资料。
Dom4j解析struts2框架的struts.xml,自定义struts框架需要解析配置文件
Struts2中struts_xml的Action配置详解
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
SSH之Struts1之struts-config.xml常用配置详解(3-21-2008)
以前和struts2一起使用的配置文件,struts2的核心控制器
struts-config.xml配置文件 struts-config.xml配置文件 struts-config.xml配置文件
相关知识struts2,fileupload等,实现图片上传并生成缩略图。单文件上传,图片展示直接使用jQuery FancyBox,效果不错,值得初学者研究学习。
SSH(Struts,Spring,Hibernate)struts.xml文件配置
struts.xml和applicationContext.xml、web.xml的配置
这是我刚用的Struts2 生成XML文件的例子,做了部分修改,有用到的话需要注入Service接口,修改getDocument()里的具体内容即可。