2017-02-24 26 views
1

我有一個客戶端腳本中,我開始有些SSJS收集駐留在strings.properties文件字符串值不能正常工作。 但是,當我將腳本存儲在csjs庫中時,我的短信變爲:#{javascript:strings ['empty']}和#{javascript:strings ['confirm']}。 我在做什麼錯?csjs從調用腳本庫SSJS預期

回答

6

您不能將帶有SSJS部件的CSJS代碼放入CSJS庫中。 SSJS部分首先在服務器上執行,然後將修改後的代碼發送給客戶端。 CSJS庫不變地發送給客戶端。這就是爲什麼你在那裏看到SSJS代碼。

你可以給你的函數添加參數

function confirmBeforeDelete(msgEmptySelection, msgConfirm, vwPnlDefaultId){ 
    if(!XSP.isViewPanelRowSelected(vwPnlDefaultId, "col1")) { 
     !XSP.alert(msgEmptySelection); 
     return false; 
    } 
    if(!XSP.confirm(msgConfirm)) {return false;}  
} 

,這樣函數是純CSJS代碼,並可以存儲在一個CSJS庫。
您可以使用參數在XPage中調用您的函數:

confirmBeforeDelete("#{javascript:strings['empty']}", "#{javascript:strings['confirm']}", 
        "#{id:vwPnlDefault}")