通过属性文件为 xp:dominoDocument 设置数据库
setting database for xp:dominoDocument via properties file
我想通过 SSJS 和属性文件为 xp:dominoDocument 数据 属性 设置数据库位置:
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"
formName="album - $f-album" computeWithForm="both"
concurrencyMode="force"
databaseName="#{javascript:datasource.getString('DB_FILEPATH')}">
<xp:this.documentId><![CDATA[#{javascript:context.getUrlParameter("UNID")}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
数据源 属性 包含例如
DB_FILEPATH=Bildr6Phase10Data.nsf
可通过
获得
<xp:this.resources>
<xp:bundle src="/datasource.properties" var="datasource"></xp:bundle>
</xp:this.resources>
上面的代码会报错:
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=12: [ReferenceError] 'datasource' not found
但是如果我尝试:
<xp:text escape="true" id="computedField1"
value="#{javascript:datasource.getString('DB_FILEPATH')}">
</xp:text>
我从 属性 中获取值。
我做错了什么?
尝试在 beforePageLoad 和 beforeRenderResponse 中记录 datasource.getString('DB_FILEPATH')
而不是计算字段。还要在 databaseName
属性 中注销一条消息。我希望在首次加载组件树时需要 databaseName
属性 。但是,如果稍后加载资源字符串,我不会感到惊讶。
另一种方法是使用 xsp.properties 文件。在 XPages OpenLog Logger 中有关于如何从 xsp.properties 检索 属性 的代码。
我想通过 SSJS 和属性文件为 xp:dominoDocument 数据 属性 设置数据库位置:
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"
formName="album - $f-album" computeWithForm="both"
concurrencyMode="force"
databaseName="#{javascript:datasource.getString('DB_FILEPATH')}">
<xp:this.documentId><![CDATA[#{javascript:context.getUrlParameter("UNID")}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
数据源 属性 包含例如
DB_FILEPATH=Bildr6Phase10Data.nsf
可通过
获得<xp:this.resources>
<xp:bundle src="/datasource.properties" var="datasource"></xp:bundle>
</xp:this.resources>
上面的代码会报错:
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
Error while executing JavaScript computed expression
Script interpreter error, line=1, col=12: [ReferenceError] 'datasource' not found
但是如果我尝试:
<xp:text escape="true" id="computedField1"
value="#{javascript:datasource.getString('DB_FILEPATH')}">
</xp:text>
我从 属性 中获取值。 我做错了什么?
尝试在 beforePageLoad 和 beforeRenderResponse 中记录 datasource.getString('DB_FILEPATH')
而不是计算字段。还要在 databaseName
属性 中注销一条消息。我希望在首次加载组件树时需要 databaseName
属性 。但是,如果稍后加载资源字符串,我不会感到惊讶。
另一种方法是使用 xsp.properties 文件。在 XPages OpenLog Logger 中有关于如何从 xsp.properties 检索 属性 的代码。