当前位置: 首页 > 工具软件 > StreamResultX > 使用案例 >

com.sunspoter.lib.web.struts2.dispatcher.StreamResultX

巫煌
2023-12-01

这个类解决下载时点击取消时出现的异常

http://www.cnblogs.com/icerainsoft/p/3524344.html

解决方案

  1. 将struts2-sunspoter-stream-1.0.jar,并复制在/WEB-INF/lib下
  2. 在原有的struts.xml的基础上进行相应的配置,配置如下例

配置如下

<package name="default" namespace="/"extends="struts-default">  
<!-- 只需要添加这行配置 -->  
<result-types>  
    <result-type name="streamx"class="com.sunspoter.lib.web.struts2.dispatcher.StreamResultX"/>  
</result-types>  

<action name="download"class="com.DownloadAction">  
    <!-- 将原有的type="stream"类型修改为type="streamx"即可 -->               
    <result name="success" type="streamx">  
        <param name="inputName">download</param>  
        <param name="bufferSize">4096</param>  
        <param name="contentDisposition">filename=""</param>  
        <param name="contentCharSet">UTF-8</param>  
    </result>  
</action>  

重点概述

  1. 在这种方式下,只需添加一个result-type;
  2. 将原有的result中type改为“streamx”,其他一律不变;
  3. 在这种情况下,点击“取消”的同时也关闭了流,不会再报出该异常。
  4. 之后的执行“取消”后的结果如下:(配置了"log4j.properties"才能看到该结果)

21:23:44,676 WARN StreamResult:45 - StreamResultX Warn : socket write error

如果出现该警告说明正确执行,该警告说明,Socket非正常中断,但是流确实已经关闭,自此再也不用看到上面出现的讨厌异常结果。


 类似资料:

相关阅读

相关文章

相关问答