在onComplete事件中我有这段代码:
<xp:this.onComplete>
<![CDATA[XSP.partialRefreshGet("#{id:dynamicContent1}");]]>
</xp:this.onComplete>
这很好用,因为我必须在同一个事件处理程序中需要两个partialRefreshes。然而,这种局部刷新然而,当我不想要它时会触发一些,所以我需要使它像条件一样
if(sessionScope.get(“ssVariable”)== true){ 做partialRefreshGet }
但这是表达式语言,不知道如何使它成为条件语句,并且不确定如何将sessionscope变量传递给它。
是否有人可以获得EL的文档和示例?
答案 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事件代码为空。