有条件的onComplete操作

时间:2014-07-12 18:18:05

标签: xpages el

在onComplete事件中我有这段代码:

<xp:this.onComplete>
    <![CDATA[XSP.partialRefreshGet("#{id:dynamicContent1}");]]>
</xp:this.onComplete>

这很好用,因为我必须在同一个事件处理程序中需要两个partialRefreshes。然而,这种局部刷新然而,当我不想要它时会触发一些,所以我需要使它像条件一样

if(sessionScope.get(“ssVariable”)== true){    做partialRefreshGet }

但这是表达式语言,不知道如何使它成为条件语句,并且不确定如何将sessionscope变量传递给它。

是否有人可以获得EL的文档和示例?

1 个答案:

答案 0 :(得分:1)

您必须在SSJS代码中将CSJS代码计算为字符串:

<xp:this.onComplete>
        <![CDATA[#{javascript:
            if (sessionScope.get("ssVariable") == true) {
                "XSP.partialRefreshGet('" +
                    getComponent("dynamicContent1").getClientId(facesContext) + 
                "')"
            }
        }]]>
</xp:this.onComplete>

如果条件为真,则此SSJS代码的结果是这样的字符串:

XSP.partialRefreshGet('view:_id1:dynamicContent1')

此代码随后在客户端用于onComplete事件。

如果条件为false,则onComplete事件代码为空。