我正在使用XPage开发移动应用程序。我试图通过在设备上本地缓存资源来加快速度。使用扩展库中的控件并不是一项简单的任务(例如,我在某些页面上有预先输入)。
因此,我决定使用jQuery Mobile构建一个并行接口,以便能够对这两种方法进行基准测试。
在执行此操作时,我想处理jQuery Mobile XPage的ressource,以便我只加载所需的资源,即避免加载dojo(例如,在此页面上有一个简短的指南:http://dpastov.blogspot.dk/2011/01/trying-to-get-full-control-over-xpage.html)。我发现的解决方案的问题在于它们是应用程序范围的。例如。设置
xsp.client.script.libraries=none
xsp.properties中的将对数据库中的所有XPage生效(包括应用程序的Ext.lib版本)。按照“XPage可移植命令指南”中的指南,我尝试将单个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放在一个单独的数据库中,但是,我想避免这样做,因为这会引发其他问题。
有什么想法吗?
/约翰
答案 0 :(得分:4)
您可以通过添加
来禁用dojo库facesContext.getRequestParameters().setJsLibrary(0);
到XPage的 beforeRenderResponse 或 beforePageLoad 事件。
答案 1 :(得分:0)
使用辅助数据库进行jQuery设计听起来很合理。那么你应该做的是从辅助数据库加载UI并使用ajax调用(a)主数据库中的ajax / rest控件。您还可以从资源或经典页面加载UI(设置为passthru HTML)。
选项的澄清(每个项目符号都是一个单独的方法):
希望有所帮助