我安装了 Liferay DXP,我想在编辑器中安装一个插件。该插件是base64image。
我正在关注这个官方指南,所以我创建了一个通常像这样的类:
@Component(immediate = true, service = DynamicInclude.class)
public class CKEditorBase64ImageDynamicInclude implements DynamicInclude {
private BundleContext bundleContext;
@Override
public void include(HttpServletRequest request, HttpServletResponse response, String key) throws IOException {
Bundle bundle = bundleContext.getBundle();
URL entryURL = bundle.getEntry("/META-INF/resources/html/editors/ckeditor/extension/base64_images.js");
StreamUtil.transfer(entryURL.openStream(), response.getOutputStream());
}
@Override
public void register(DynamicIncludeRegistry dynamicIncludeRegistry) {
dynamicIncludeRegistry.register("com.liferay.frontend.editors.web#ckeditor#onEditorCreate");
}
@Activate
protected void activate(BundleContext bundleContext) {
this.bundleContext = bundleContext;
}
}
它应该包括base64_images.js
初始化编辑器的文件。但它永远不会起作用,无论文件的内容是什么。那有什么问题?
我想补充一点,插件文件(JavaScript 代码)是我的 Liferay 主题的一部分。我想base64_images.js
调用它的 API,但它也可能不是正确的方法。