【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
低版本产品 : 下文中的低版本产品特指FineReport10.0以下的版本
报表预览:下文中特指cpt/frm模板的预览方式,但不包含移动端预览和H5预览方式。
该接口(当前)仅用于兼容低版本产品中的前端引入相关插件的实现。且只对报表的预览生效,决策平台中已无效。
package com.fr.stable.fun; /** * @author richie * @date 2015-02-26 * @since 8.0 * JavaScript引入接口 */ public interface JavaScriptFileHandler extends WebFileHandler { String XML_TAG = "JavaScriptFileHandler"; int CURRENT_LEVEL = 1; }
package com.fr.stable.fun; import com.fr.stable.fun.mark.Mutable; /** * @author richie * @date 2015-02-26 * @since 8.0 */ public interface WebFileHandler extends Mutable { String ENCODE_SEPARATOR = "?encode="; /** * 返回Web端需要的文件的相对路径 * * @return 文件的路径组成的集合 */ String[] pathsForFiles(); String encode(); }
产品线 | 版本 | 支持情况 | 备注 |
---|---|---|---|
FR | 8.0 | 支持 | |
FR | 9.0 | 支持 | |
FR | 10.0 | 支持 | 仅做兼容使用,新插件请勿使用! |
BI | 3.6 | 支持 | |
BI | 4.0 | 支持 | |
BI | 5.1 | 支持 | 仅做兼容使用,新插件请勿使用! |
BI | 5.1.2 | 支持 | 仅做兼容使用,新插件请勿使用! |
BI | 5.1.3 | 支持 | 仅做兼容使用,新插件请勿使用! |
在10.0版本中以下3种注册方式都只对报表预览生效,但是注册在core标签下加载的位置会更靠前一些。然后是form,最后是report
<extra-core> <JavaScriptFileHandler class="your class name"/> </extra-core>
<extra-report> <JavaScriptFileHandler class="your class name"/> </extra-report>
<extra-form> <JavaScriptFileHandler class="your class name"/> </extra-form>
接口注册逻辑:在产品的服务器/报表/决策报表模块(com.fr.module.ServerModule、com.fr.report.module.EngineModule、com.fr.form.module.FormModule)启动的时候(module.start();)会从插件中分类读取相应申明的js资源。
接口的生效逻辑:com.fr.web.ResourceHelper#initDefaultJs和forceInitJSCache方法执行时会把插件接口指向的js文件中的内容读取进来注入到报表预览的主体JS中(区别于web组件接口:组件接口是独立的js文件加载)
String encode(); 接口方法默认已实现,表示的是引入的资源的编码方式,默认值是UTF-8
String[] pathsForFiles(); 中的js脚本文件path,指的是js文件在插件jar中的相对位置(如:com/demo/js/main.js)
demo地址:demo-java-script-file-handler
com.fr.stable.fun.CssFileHandler
免责声明:所有文档中的开源示例,均为开发者自行开发并提供。仅用于参考和学习使用,开发者和官方均无义务对开源案例所涉及的所有成果进行教学和指导。禁止用于任何商业用途,若作为商用一切后果责任由使用者自行承担。