转到在自定义xpages osgi库中提供css和csjs资源的方法
我很难找到在自定义xpages库中提供css和csjs资源的正确方法。我找不到任何关于如何用我的osgi插件打包这些资源的好信息 我查看了extlib实现,但无法真正了解ResourceHandler部分中正在发生的事情(如果这些部分实际上与我需要的内容相关的话)。那么,如果要在库中部署(比如)dojo dijit,需要采取哪些步骤呢?这是为我做的: 创建一个;在构造函数中,加载一个基本上位于Extlib资源处理之上的自定义转到在自定义xpages osgi库中提供css和csjs资源的方法,xpages,xpages-extlib,Xpages,Xpages Extlib,我很难找到在自定义xpages库中提供css和csjs资源的正确方法。我找不到任何关于如何用我的osgi插件打包这些资源的好信息 我查看了extlib实现,但无法真正了解ResourceHandler部分中正在发生的事情(如果这些部分实际上与我需要的内容相关的话)。那么,如果要在库中部署(比如)dojo dijit,需要采取哪些步骤呢?这是为我做的: 创建一个;在构造函数中,加载一个基本上位于Extlib资源处理之上的自定义ExtLibLoaderExtension。要使用它,资源需要进入“/r
ExtLibLoaderExtension
。要使用它,资源需要进入“/resources/web/extlib”的子文件夹,其名称由这个ExtLibLoaderExtension
指定
激活剂:
public class MyCustomActivator extends Plugin {
public static MyCustomActivator instance;
public MyCustomActivator() {
instance = this;
ExtLibLoaderExtension.getExtensions().add(new MyCustomLoader());
}
}
ExtLibLoaderExtension:
public class MyCustomLoader extends ExtLibLoaderExtension {
public MyCustomLoader(){
}
@Override
public Bundle getOSGiBundle() {
return MyCustomActivator.instance.getBundle();
}
@Override
public URL getResourceURL(HttpServletRequest request, String name) {
if(name.startsWith("[put subfolder name here]")) {
String path = ExtlibResourceProvider.BUNDLE_RES_PATH_EXTLIB+name;
return ExtLibUtil.getResourceURL(
MyCustomActivator.instance.getBundle(), path);
}
return null;
}
}
确保您的资源文件夹包含在
plugin.xml
的构建部分。在“概述”选项卡上,在左上角的“常规信息”部分中提供Activator类。完成所有这些之后,部署updateSite并重新启动http任务后,您可以使用/xsp/.ibmxspres/.extlib/[put subfolder name here]/junction从Webbrowser访问资源。Bootstrap4XPages实现()如何?也许你可以找到一个答案:它比ExtLib小得多,其目的之一是提供css/csjs。这个blogpost()也有一些很好的信息。嗨,马克,谢谢你给我介绍bootstrap4xpages项目。我以前已经看过了,但显然不够近。我或多或少地复制了从那里提取的方法,并通过一些摆弄最终奏效了!我在下面添加了答案,希望我没有忘记任何事情。