xpages:如何模拟表单的自动启动属性

时间:2018-12-19 18:53:11

标签: xpages xpages-ssjs

是否有快速简便的方法来转换具有自动启动第一个附件和/或启动URL的表单?

我知道它可以用SSJS编码,但是我只是在徘徊,如果有人有一个快速的方法来做到这一点。

谢谢

2 个答案:

答案 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>
相关问题