2

我正在使用 XPages 开发移动应用程序。我试图通过在设备上本地缓存资源来加快速度。这不是使用扩展库中的控件的简单任务(例如,我在某些页面上有预输入)。

因此,我决定使用 jQuery Mobile 构建一个并行接口,以便能够对这两种方法进行基准测试。

在这样做时,我想处理 jQuery Mobile XPage 的资源,以便我只加载所需的资源,即避免加载 dojo(此页面上有一个简短的指南,例如:http: //dpastov.blogspot.dk/2011 /01/trying-to-get-full-control-over-xpage.html )。我发现的解决方案的问题在于它们的应用范围很广。例如设置

xsp.client.script.libraries=none

xsp.properties 中的 xsp.properties 将对数据库中的所有 XPage 生效(包括应用程序的 Ext.lib 版本)。按照“XPages Portable Command Guide”中的指南,我尝试将单个 XPage(jQuery Mobile 之一)的属性设置为:

    <?xml version="1.0" encoding="UTF-8"?>
    <xp:view xmlns:xp="http://www.ibm.com/xsp/core" disableTheme="true" createForm="false">
        <xp:this.properties>
            <xp:parameter name="xsp.client.script.libraries" value="none">  
            </xp:parameter>
        </xp:this.properties>

不幸的是,这似乎不起作用。

我知道,我可以将第二个 XPage 放在单独的数据库中,但是,我想避免这种情况,因为这会引发其他问题。

有任何想法吗?

/约翰

4

2 回答 2

4

您可以通过添加禁用 dojo 库

facesContext.getRequestParameters().setJsLibrary(0);

到XPage 的beforeRenderResponsebeforePageLoad事件。

于 2012-10-16T09:58:38.820 回答
0

为您的 jQuery 设计使用辅助数据库听起来很合理。然后你应该做的是从辅助数据库加载 UI 并使用 ajax 调用来调用主数据库中的 (a) ajax/rest 控件。您还可以从资源或经典页面(设置为直通 HTML)加载您的 UI。

选项说明(每个项目符号是一个单独的方法):

  • 使用辅助数据库(最不理想)
  • 将初始 jQuery UI(无实际数据)放入经典页面,并使用来自 XPage 上的 JSON 控件(来自 extlib)的 REST 调用加载数据
  • 使用XAgent加载初始 jQuery UI并继续使用 REST/JSON 填充数据

希望有帮助

于 2012-10-15T14:45:17.263 回答