如何将脚本库添加到XPage自定义Java控件



我正在尝试按照IBM (LINK)的指南在XPage中开发我自己的Java自定义控件。

一切都很好,但现在我想做一些客户端JavaScript的事情,我想使用jQuery库。在XPage中包含jQuery.js并不是什么了不起的事情,但是我想把我的控件打包到一个库中,这样我们公司的每个开发人员都可以使用它。

所以我的问题是我如何将JavaScript集成到控件中,以便使用它的人不必在Notes应用程序中手动实现JavaScript。

当然,我可以把它放到渲染中:

writer.startElement("script", null);
writer.writeAttribute("type", "text/javascript", null);
writer.writeText(JQuery-js-content, null);
writer.endElement("script");

但是当用户打开包含控件的XPage时,服务器总是要呈现它。

从web或从服务器加载jQuery是没有选项(防火墙)。

我正在寻找的是一个解决方案,每当开发人员从面板中拖动组件时,jQuery就会添加到Notes应用程序中。

更新:

谢谢你的提示,我找到了"最适合我"的解决方案。我使用扩展库com.ibm.xsp.extlib.resources.ExtLibResources中的ExtLibResources类来包含我的脚本库。使用此方法,当您在同一个XPage上使用多个控件时,它们不会被包含多次。

如果你不想使用扩展库,但你想使用这个方法在你的自定义控件中包含一个CSJS,你可以构建你自己的资源类。

现在我的代码包含jQuery看起来像这样:

ScriptResource jquerymin = new ScriptResource();
jquerymin.setType("text/javascript");
jquerymin.setSrc(JQUERY_PATH);
jquerymin.setClientSide(true);
ExtLibResources.addEncodeResource(context, jquerymin);

在OpenNTF上查看这个项目。jQuery Ext. Library。我猜这就是你需要做的。

http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument& name = jQuery % 20扩展% 20图书馆

与其自己添加库,不如使用CDN添加jquery库?

相关内容

  • 没有找到相关文章

最新更新