CssFileHandler
| 属性 | 值 |
|---|---|
| 接口类型 | extra-core / extra-form / extra-report |
| 完整类名 | com.fr.stable.fun.CssFileHandler |
接口作用
引入额外的 CSS 文件。
注意: 该接口仅用于兼容低版本产品(FR 10.0 以下)中的前端引入实现,且只对报表预览(cpt/frm 模板,不含移动端和 H5 预览)生效,决策平台中已无效。新插件请勿使用。
接口内容
主要接口
package com.fr.stable.fun;
public interface CssFileHandler extends WebFileHandler {
String XML_TAG = "CssFileHandler";
int CURRENT_LEVEL = 1;
}
关联接口
WebFileHandler(父接口):
package com.fr.stable.fun;
import com.fr.stable.fun.mark.Mutable;
public interface WebFileHandler extends Mutable {
String ENCODE_SEPARATOR = "?encode=";
/**
* 返回Web端需要的文件的相对路径
*
* @return 文件的路径组成的集合
*/
String[] pathsForFiles();
String encode();
}
pathsForFiles():返回 CSS 文件在插件 jar 中的相对路径,如com/demo/css/main.cssencode():已有默认实现,返回资源编码方式,默认值为UTF-8
接口接入
在 10.0 版本中以下三种注册方式均只对报表预览生效,生效优先级:form > report > core。
<extra-core>
<CssFileHandler class="com.fr.plugin.xxx.youclassname"/>
</extra-core>
<extra-form>
<CssFileHandler class="com.fr.plugin.xxx.youclassname"/>
</extra-form>
<extra-report>
<CssFileHandler class="com.fr.plugin.xxx.youclassname"/>
</extra-report>
支持版本
| 产品线 | 版本 | 支持情况 | 备注 |
|---|---|---|---|
| FR | 8.0 | 支持 | |
| FR | 9.0 | 支持 | |
| FR | 10.0 | 支持 | ⚠️ 仅做兼容使用,新插件请勿使用! |
| FR | 11.0 | 支持 | |
| BI | 3.6 | 支持 | |
| BI | 4.0 | 支持 | |
| BI | 5.1 | 支持 | ⚠️ 仅做兼容使用,新插件请勿使用! |
| BI | 5.1.2 | 支持 | ⚠️ 仅做兼容使用,新插件请勿使用! |
| BI | 5.1.3 | 支持 | ⚠️ 仅做兼容使用,新插件请勿使用! |
原理说明
注册逻辑: 产品的服务器/报表/决策报表模块(ServerModule、EngineModule、FormModule)启动时(module.start())会从插件中分类读取所申明的 CSS 资源。
生效逻辑: com.fr.web.ResourceHelper#forceInitStyleCache 执行时,会将插件接口指向的 CSS 文件内容读取并注入到报表预览的主体 CSS 中(区别于 Web 组件接口:组件接口是独立的 CSS 文件加载)。
接口示例
- Demo:demo-css-file-handler
- 相关接口:
JavaScriptFileHandler(三组常见引入 JS 和 CSS 的插件接口对比)
开源案例
免责声明:所有文档中的开源示例均为开发者自行开发并提供,仅供参考和学习使用。开发者和官方均无义务对开源案例进行教学和指导。禁止用于任何商业用途,若作为商用,一切后果责任由使用者自行承担。