无法在XPage OneUI的Action Bar中使用SSJS执行操作?

时间:2014-11-30 16:04:32

标签: xpages xpages-extlib

我用XPages工作了很长时间,这一定是一个新手问题: 我想在extlib(Place Bar)的OneUI上部的Action Bar中放置常用操作,如“Save Document”,“Edit”,“Cancel”。 我成功地在地方栏中获得了任何基本(或其他)节点,但我只能给它们客户端JS,而不是我给按钮的通常的服务器端JS。

我失踪了吗?当然我搜索(这里+谷歌),但找不到这个简单问题的任何答案。

希望你能“把我推向正确的方向”....

thx,Uwe

1 个答案:

答案 0 :(得分:3)

添加按钮" Save"和"编辑"作为操作栏的xe:basicLeafNode

<xe:applicationLayout ... >
    ...
        <xe:this.placeBarActions>
           <xe:basicLeafNode
              label="Save"
              submitValue="save">
           </xe:basicLeafNode>
           <xe:basicLeafNode
              label="Edit"
              submitValue="edit">
           </xe:basicLeafNode>

并在xe:applicationLayout onItemClick事件

中定义您要作为 SSJS 代码执行的代码
  <xp:eventHandler
     event="onItemClick"
     submit="true"
     refreshMode="complete">
     <xp:this.action><![CDATA[#{javascript:
            var s = context.getSubmittedValue();
            if (s=="save") {
                print("write code here for save");
            } else if (s=="edit") {
                print("write code here for edit");
            }
        }]]></xp:this.action>
    </xp:eventHandler>
</xe:applicationLayout>

你可以使用context.getSubmittedValue()在onItemClick事件中测试basicLeafNode的submitValue,并以这种方式了解点击了哪个按钮。