我正在尝试从Connections访问数据。我需要使用一些javascript api代码:https://greenhouse.lotus.com/sbt/SBTPlayground.nsf/JavaScriptSnippets.xsp#snippet=Social_Files_Get_My_Files
但我不知道如何使用xPages构建应用程序。我尝试了一个新的xPage并将代码粘贴到一个脚本块中,但是我遇到了编译错误。
有人可以告诉我如何使用操场上的Javascript样本吗?
答案 0 :(得分:2)
保罗建议使用openntf票务跟踪非常棒!这是最终有效的代码。再次感谢Paul!
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
<xe:dataView id="myFilesDataView" var="file" rows="110"
columnTitles="true" styleClass="filesDataView">
<xe:this.extraColumns>
<xe:viewExtraColumn columnTitle="Filetype">
</xe:viewExtraColumn>
<xe:viewExtraColumn columnTitle="Size">
</xe:viewExtraColumn>
</xe:this.extraColumns>
<xe:this.summaryColumn>
<xe:viewSummaryColumn columnTitle="Filename">
</xe:viewSummaryColumn>
</xe:this.summaryColumn>
<xp:this.value>
<![CDATA[#{javascript:
try{
var filesService = new com.ibm.sbt.services.client.connections.files.FileService( "connectionsSSO" );
// ps:100 is page size of 100 files
var myFiles = filesService.getMyFiles({ps:100});
viewScope.myFilesAvailable = true;
return myFiles;
}catch(exception){
println("getFiles value error: " + exception);
viewScope.myFilesAvailable = false;
return null;
}}]]>
</xp:this.value>
<xp:this.facets>
<xp:panel xp:key="noRows" id="emptyMyFilesPanel">
<xp:div styleClass="lotusWidgetBody">
<xp:text>
<xp:this.value>
<![CDATA[#{javascript:
return (viewScope.myFilesAvailable ? "No files found." : "Files unavailable.");
}]]>
</xp:this.value>
</xp:text>
</xp:div>
</xp:panel>
<xp:panel id="summaryPanel" xp:key="summary" style="white-space:nowrap;">
<xp:link escape="true" id="link7" target="_blank"
text="#{javascript:return file.getTitle();}" styleClass="dataViewLink">
<xp:this.value><![CDATA[#{javascript:return file.getContentUrl();}]]>
</xp:this.value>
</xp:link>
</xp:panel>
<xp:panel id="typePanel" xp:key="extra0"
style="width: 20%;white-space:nowrap;">
<xp:text>
<xp:this.value><![CDATA[#{javascript:return file.getType();}]]></xp:this.value>
</xp:text>
</xp:panel>
<xp:panel id="sizePanel" xp:key="extra1"
style="width: 15%;white-space:nowrap;">
<xp:text>
<xp:this.value><![CDATA[#{javascript:
var size = file.getSize();
var kilobyte = 1024;
var megabyte = kilobyte *1024;
if(size < kilobyte) {
return (size + " B");
}else if(size < megabyte) {
return (Math.round(size/kilobyte) + " KB");
}else {
return (Math.round(size/megabyte) + " MB");
}}]]>
</xp:this.value>
</xp:text>
</xp:panel>
</xp:this.facets>
</xe:dataView>
</xp:view>