Xpages csjs从脚本库调用ssjs未按预期工作
我有一个客户端脚本,在该脚本中,我启动一些SSJ来收集驻留在strings.properties文件中的字符串值: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:
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}”)