SSH框架下过滤器设置解决报表问题
问题背景
最近经常遇到在ssh框架下使用润乾报表的问题,主要体现在在润乾的demo下没有问题,而在客户的具体项目环境中出现问题。
举例说明:
1:润乾填报表导入excel报错,页面异常为:报表文件不存在或者名称不合法
2:润乾大数据量报表的分页打印,后台报异常: java.lang.NullPointerException
at com.runqian.report4.view.PagedPrint.service(Unknown Source:141)
问题分析
因为在润乾的demo中功能是正常的,所以基本可以断定是客户的项目环境原因导致。首先要排除硬件服务器以及应用服务器的原因,然后排除项目中代码对润乾报表的影响。
问题解决
此种情况一般都是由于客户自己的过滤器设置引起的。我们需要让客户注释掉过滤器或者为其过滤器增加excludedPatterns属性定义即可。
如下所示,设置URL中有reportServlet不经过滤器即可。
<filter>
<filter-name>actionFilter</filter-name>
<filter-class>com.chinasofti.ro.bizframework.core.mvc.ActionFilter</filter-class>
<init-param>
<param-name>excludedPatterns</param-name>
<param-value>|reportServlet$</param-value>
</init-param>
</filter>