【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
无
该接口在8.0/9.0版本的产品中,作为服务扩展的主要接口。10.0发布以后逐渐被新接口取代。
10.0中这个接口的主要使用场景就是提供符合报表请求风格的web接口了。
package com.fr.stable.fun;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* FineReport对于HTTP请求做处理的服务
*/
public interface Service {
String XML_TAG = "WebService";
/**
* 返回该服务所附带的OP参数
*
* @return op参数
*/
String actionOP();
/**
* 处理HTTP请求
*
* @param req HTTP请求
* @param res HTTP响应
* @param op op参数值
* @param sessionID 当前广义报表对象的会话ID
* @throws Exception
*/
void process(HttpServletRequest req, HttpServletResponse res, String op, String sessionID) throws Exception;
}
产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| FR | 8.0 | 支持 | |
| FR | 9.0 | 支持 | |
| FR | 10.0 | 支持 | 只能用于报表场景的web服务提供 |
| BI | 3.6 | 支持 | |
| BI | 4.0 | 支持 | |
| BI | 5.1 | 支持 | 不推荐使用 |
| BI | 5.1.2 | 支持 | 不推荐使用 |
| BI | 5.1.3 | 支持 | 不推荐使用 |
<extra-core>
<WebService class="your class name"/>
</extra-core>
接口注册逻辑:在WebActionsDispatcher中,注入了插件的运行后和结束前事件。当插件被插件引擎识别并加载时,会通过ReportDispatcher.addExtraServices注入到报表请求的分发器中生效。
接口的生效逻辑:当报表请求(view/report 或 view/form)进入分发器时,会根据对应的op参数把请求分发给对应的服务处理。
demo地址:demo-css-file-handler
com.fr.stable.fun.JavaScriptFileHandler
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。若作为商用一切后果责任由使用者自行承担。