【仅供内部供应商使用,不提供对外解答和培训】
...
| Code Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
package com.fr.form.stable;
import com.fr.stable.fun.mark.Immutable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 表单导出接口, 通过传不同的format来导出Excel, pdf等等
*
* Created by Administrator on 2015/12/18 0018.
*/
public interface FormExportProcessor extends Immutable {
String MARK_STRING = "FormExportProcessor";
int CURRENT_LEVEL = 3;
/**
* 进行导出
*
* @param req http请求
* @param res http应答
* @param sessionID 会话ID
* @throws Exception
*/
void dealWithExport(HttpServletRequest req, HttpServletResponse res, String sessionID);
}
|
产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| FR | 8.0 | 支持 | |
| FR | 9.0 | 支持 | |
| FR | 10.0 | 支持 | |
| BI | 3.6 | 支持 | 不支持BI的仪表板 |
| BI | 4.0 | 支持 | 不支持BI的仪表板 |
| BI | 5.1 | 支持 | 不支持BI的仪表板 |
| BI | 5.1.2 | 支持 | 不支持BI的仪表板 |
| BI | 5.1.3 | 支持 | 不支持BI的仪表板 |
| Code Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
<extra-report>form> <ExportExtensionProcessor<FormExportProcessor class="your class name"/> </extra-report>form> |
在沿用低版本的报表web服务体系的情况下,10.0中存在一个ExportService【op=export】的服务接口用于处理报表的导出操作。在dealWithExport方法中,会获取当前报表系统中生效的导出扩展申明(ExportExtension),从而进行对应的导出操作。决策报表预览时,后台通过Formlet#dealWeblet调用了FormletDealWith#dealWithFormlet方法进行计算响应。在这个dealWithFormlet中,如果请求中包含了format参数,则会单独走导出处理,获取到插件中定义的决策报表导出类申明并执行响应。
该接口是Immutable的,也就是是独占的,如果多个插件都有使用到,那么只会生效其中的一个。如果没有插件使用这个接口,则默认生效的是DefaultExportExtension 【注:也就是开发的时候可以参考这个类进行开发】该接口是Immutable的,也就是是独占的,如果多个插件都有使用到,那么只会生效其中的一个。如果没有插件使用这个接口,标准产品的决策报表默认是不支持任何导出的
因为接口开在了整个导出的入口,所以会影响到所有其他的报表导出相关的接口,使用的时候需要非常谨慎。除特殊情况开发者尽量不要选择这个接口,容易跟其他插件产生冲突。【注:该接口仅用于一般定制,新商城插件严禁使用这个接口,避免造成大面积冲突】
...