我正在使用 @DbName() 来获取笔记数据库的名称和文件路径。不幸的是,文件路径和名称作为一个没有斜杠的字符串返回。例如,如果文件路径是“Dir1/Dir2/dbname.nsf”,则返回为“Dir1Dir2dbname.nsf”。有什么方法可以获取包含斜杠的文件路径?
user1358852
问问题
1510 次
3 回答
3
@DBName() 函数调用应用作列表数组。以下示例详细说明了如何使用以及您获得的输出。
代码
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:table><xp:tr>
<xp:td>
<xp:label value="Field 1 (@DbName as a string) " id="label1">
</xp:label>
</xp:td><xp:td>
<xp:text escape="true" id="computedField1" value="#{javascript:return @DbName();}">
</xp:text>
</xp:td>
</xp:tr><xp:tr>
<xp:td>
<xp:label value="Field 2 (@DbName used as list)" id="label2">
</xp:label>
</xp:td><xp:td>
<xp:text escape="true" id="computedField2">
<xp:this.value><![CDATA[#{javascript:var database = @Subset(@DbName(), -1);
var server = @Name("[CN]", @Subset(@DbName(), 1));
return database + " on " + server
}]]></xp:this.value>
</xp:text>
</xp:td></xp:tr>
</xp:table>
</xp:view>
输出
Field 1 (@DbName as a string) CN=testserver/O=testorg,subdir\Test.nsf
Field 2 (@DbName used as list) subdir\Test.nsf on testserver
如果您没有得到这些结果,请使用示例代码更新您的问题。
要检查的另一件事是“\”是否在您的代码中被翻译为转义字符。
于 2013-05-16T07:03:36.780 回答
2
我经历过类似的事情,修复确实是使用以下内容来确保反斜杠被转义(而不是被解释为转义字符):
escape(database.getFilePath())
于 2014-02-28T14:16:59.997 回答
1
您是将其放在计算字段中还是在某些公式中使用它?这是另一种方式。
数据库.getFilePath()
那应该给你 Dir/dbname
于 2013-05-15T16:25:42.330 回答