【发布时间】:2015-12-15 05:51:56
【问题描述】:
我想通过 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>
我从属性中获取价值。 我做错了什么?
【问题讨论】:
-
EL '${datasource.DB_FILEPATH}' 有效吗?
-
我认为它应该是带有括号而不是括号的 datasource.getString['DB_FILEPATH'] 。也许你应该重命名你的包名,因为它不是数据库 SSJS 对象独有的。
标签: xpages xpages-ssjs