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

时间:2014-01-10 21:53:12

标签: javascript xpages

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

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

此代码返回正确的FilePath和Name,但是当我尝试在目标DB中打开文档时代码失败。我是否需要指定服务器以及filePath?

2 个答案:

答案 0 :(得分:2)

是的,也添加服务器名称。以下是您只需添加自己的文件路径逻辑的示例:

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

答案 1 :(得分:0)

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

我会尝试使用其他一些功能复制配置文件的功能。

这只会由管理员更新吗?

至于如何实现它我将使用带有自定义数据源的自定义控件来添加数据,如果它只是由管理员添加设计器。如果您要让最终用户完成数据,我可以考虑使用文档/视图完成它的几种方法。