Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态指定数据源的文件名_Javascript_Xpages - Fatal编程技术网

Javascript 如何动态指定数据源的文件名

Javascript 如何动态指定数据源的文件名,javascript,xpages,Javascript,Xpages,在自定义控件上,我希望将数据源绑定到当前数据库以外的数据库。因此,我选择了另一个选项,并从提供的列表中选择了数据库。一切都很好,但我希望这不依赖于数据库的位置。我已创建了一个概要文件文档,并存储了我要针对的数据库的repID,并将此代码添加到其他选项中: var repID = database.getProfileDocument("frmConfigProfile","").getItemValue("WFSRulesRepID")[0]; session.getDbDirectory(nu

在自定义控件上,我希望将数据源绑定到当前数据库以外的数据库。因此,我选择了另一个选项,并从提供的列表中选择了数据库。一切都很好,但我希望这不依赖于数据库的位置。我已创建了一个概要文件文档,并存储了我要针对的数据库的repID,并将此代码添加到其他选项中:

var repID = database.getProfileDocument("frmConfigProfile","").getItemValue("WFSRulesRepID")[0];
session.getDbDirectory(null).openDatabaseByReplicaID(repID).getFilePath();

此代码返回正确的文件路径和名称,但当我尝试在目标数据库中打开文档时,代码失败。是否需要指定服务器和文件路径?

我不会将配置文件文档与xPages一起使用。为了查看概要文件文档的新更改,需要重新启动HTTP任务

我会尝试用一些其他功能复制概要文件文档的功能

这只会由管理员更新吗


至于如何实现它,我将使用一个自定义控件和一个自定义数据源来添加数据,如果它只将由一个具有设计器的管理员添加。如果您打算让最终用户完成数据,我可以想出一些方法,通过文档/视图来完成。

是的,还可以添加服务器名称。下面是一个示例,您只需要添加自己的文件路径逻辑:

<xp:this.databaseName><![CDATA[#{javascript:
  var fileName = ...;
  return database.getServer() + "!!" + fileName
}]]></xp:this.databaseName>


RepID将保持非常静态,因此如果我将该值存储在常规Notes文档中,然后将该值加载到applicationScope变量中,则该变量将起作用。是的,repid的值可能会在数据库启动时设置,它们不太可能发生更改,这肯定是管理员或开发人员的更改。最终用户永远也看不到这一点。我为个人资料文档的事情而发疯。重新启动HTTP对我来说是一个交易杀手,所以我必须找到其他选择。正确的方法是使用应用程序范围中的对象-可以是bean、托管bean或JS对象。它应该具有“刷新”功能。那么,在第一次加载时是否涉及到查找(或其他方式)就无关紧要了。谢谢,我让它工作了。似乎repID值有时会为null,所以我创建了一个sessionScope变量并将repID存储在其中。检查ss变量是否已设置,如果未设置,则获取值。这似乎已经解决了问题,没有添加服务器名称,但我相信添加服务器名称将使其更加防弹。谢谢