Xpages csjs从脚本库调用ssjs未按预期工作

Xpages csjs从脚本库调用ssjs未按预期工作,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我有一个客户端脚本,在该脚本中,我启动一些SSJ来收集驻留在strings.properties文件中的字符串值: function confirmBeforeDelete(){ var msgEmptySelection = "#{javascript:strings['empty']}"; var msgConfirm = "#{javascript:strings['confirm']}"; if(!XSP.isViewPanelRowSelected("#{id:

我有一个客户端脚本,在该脚本中,我启动一些SSJ来收集驻留在strings.properties文件中的字符串值:

function confirmBeforeDelete(){
    var msgEmptySelection = "#{javascript:strings['empty']}";
    var msgConfirm = "#{javascript:strings['confirm']}";
    if(!XSP.isViewPanelRowSelected("#{id:vwPnlDefault}", "col1")) {
        !XSP.alert(msgEmptySelection);
        return false;
    }
    if(!XSP.confirm(msgConfirm)) {return false;}    
}
这个很好用。 但是当我将脚本存储在csjs库中时,我的文本消息变成:#{javascript:strings['empty']}和#{javascript:strings['confirm']}。
我做错了什么?

您不能将包含SSJS部分的CSJS代码放入CSJS库中。SSJS部分首先在服务器上执行,修改后的代码发送到客户端。CSJS库会原封不动地发送到客户端。这就是为什么您会在那里看到SSJS代码

可以向函数中添加参数

函数confirmBeforeDelete(msgEmptySelection、msgConfirm、vwPnlDefaultId){
如果(!XSP.isViewPanelRowSelected(vwPnlDefaultId,“col1”)){
!XSP.alert(msgEmptySelection);
返回false;
}
如果(!XSP.confirm(msgConfirm)){return false;}
}
因此,该函数是纯CSJS代码,可以存储在CSJS库中。
您可以使用以下参数在XPage中调用函数:

confirbeforedelete(“#{javascript:strings['empty']},“#{javascript:strings['confirm']}”,
“#{id:vwPnlDefault}”)

不能将包含SSJS部分的CSJS代码放入CSJS库中。SSJS部分首先在服务器上执行,修改后的代码发送到客户端。CSJS库会原封不动地发送到客户端。这就是为什么您会在那里看到SSJS代码

可以向函数中添加参数

函数confirmBeforeDelete(msgEmptySelection、msgConfirm、vwPnlDefaultId){
如果(!XSP.isViewPanelRowSelected(vwPnlDefaultId,“col1”)){
!XSP.alert(msgEmptySelection);
返回false;
}
如果(!XSP.confirm(msgConfirm)){return false;}
}
因此,该函数是纯CSJS代码,可以存储在CSJS库中。
您可以使用以下参数在XPage中调用函数:

confirbeforedelete(“#{javascript:strings['empty']},“#{javascript:strings['confirm']}”,
“#{id:vwPnlDefault}”)