是否有快速简便的方法来转换具有自动启动第一个附件和/或启动URL的表单?
我知道它可以用SSJS编码,但是我只是在徘徊,如果有人有一个快速的方法来做到这一点。
谢谢
答案 0 :(得分:2)
以下Domino URL命令将打开一个附件...
http://Host/DatabaseName/View/DocumentName/$File/fileattachmentname
...,其中DocumentName实际上是在第一列中显示的查找值。
添加一个xp:link控件并对其进行编码,以打开附件(在此示例中,在新窗口中)。例如,以下是一个xp:link,可以将其添加到xp:viewColumn或xp:repeat或任何迭代器控件中。在此示例中,将迭代器的var设置为“ rowData”,并且链接的名称从ListName列返回,而启动附件的URL在cLinkUrl列中。
<xp:link escape="true" id="link1" target="_blank">
<xp:this.text><![CDATA[#{javascript:rowData.getColumnValue("ListName");}]]></xp:this.text>
<xp:this.value><![CDATA[#{javascript:rowData.getColumnValue("cLinkUrl")}]]></xp:this.value>
</xp:link>
答案 1 :(得分:0)
由于我希望代码位于xpage中,因为它根据角色打开了文档或附件,所以我最终将其添加到xpage的beforepageload事件中(仍然需要为此添加角色检查)虽然):
<xp:this.beforePageLoad>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:var url = currentDocument.getDocument().getHttpURL();
var attachmentName = @AttachmentNames();
facesContext.getExternalContext().redirect(url.replace("?OpenDocument","/$File/"+attachmentName+"?OpenElement&target=_new"));}]]></xp:this.script>
</xp:executeScript>
</xp:this.beforePageLoad>