如何在应用程序布局项按钮/节点中运行SSJS?

时间:2012-09-27 01:13:59

标签: xpages xpages-ssjs xpages-extlib

我刚刚开始将xe:applicationLayout用于应用程序。我在“Place Bar”中添加了“基本节点”。我想在点击节点/按钮上运行一些服务器端JavaScript代码。我曾尝试计算基本节点的onClick属性,但这没有做任何事情,看起来onClick只运行客户端JavaScript。

是否有可以运行SSJS的属性或节点?谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

设置节点的submittedValue属性。 (该过程对于应用程序布局中的所有位置都是相同的;这是banner.ApplicationLinks的示例代码段)

    <xe:this.bannerApplicationLinks>
                <xe:basicContainerNode styleClass="firstApplication" label="${langString_CRM['CREATE']}">
                    <xe:this.children>
                        <xe:basicLeafNode submitValue="company_new"

然后向您的页面添加一个事件处理程序,并根据提交的值运行您的SSJS

        <xp:eventHandler event="onItemClick" submit="true"
        refreshMode="partial" disableValidators="true" refreshId="cois_application_layout"
        execMode="partial">
        <xp:this.action><![CDATA[#{javascript:          
        var submittedValue=context.getSubmittedValue();
// evaluate the submitted value here ...

答案 1 :(得分:1)

不是最好的版本,但它有效。 添加按钮到XPage然后使用css隐藏。 在您的应用程序布局中添加一个客户端脚本,该脚本使用获取按钮的句柄 dojo.byId并对它们执行click()。然后,当您单击不同的按钮时,可以轻松更新不同的面板。