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

标签 javascript jsf xpages lotus-notes

我正在尝试按照 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 时,服务器始终必须呈现它。

无法从网络或服务器加载 jQuery(防火墙)。

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

更新:

感谢您的提示,我找到了“最适合我”的解决方案。我使用了扩展库中的 ExtLibResourcescom.ibm.xsp.extlib.resources.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 扩展。图书馆。我怀疑这就是您需要做的。

http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=jQuery%20Extension%20Library

关于javascript - 如何将脚本库添加到 XPage 自定义 Java 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15663268/

相关文章:

javascript - Jquery如何调用点击链接?

javascript - shift bootstrap carousel 标题中心向右

java - 设置 BigDecimal 格式,使 100 显示为 100 而不是 1.0E+2

java - 如何为 Action 监听器编写 JUnit?

XPages - SSJS - 获取所有配置文件文档

javascript - XPages csjs 将变量传递给函数?

javascript - 关闭按钮上的 iFrame 单击自身

javascript - 使用扩展程序移动 chrome 窗口

css - 删除特定数据表上的所有边框

xpages - 如何查看所有作用域变量的内存使用情况