在我看来,这应该是可能的。在XPages应用程序中,我有两个ServerSide JavaScript库 jsMain 和 jsSave 。在jsMain我有这个脚本:
function thisAction(msg:String){
try{
switch(msg){
case "Save" :
print("This action = " + msg);
if (jsSave.processAction()){
print("jsSave.processAction returned true");
return true;
break;
}else{
print("jsSave.processAction returned false");
return false;
break;
}
default:
print("In default msg is " + msg);
return false;
break;
}
}catch(e){
print("thisAction Failed in jsMain " + e.toString())
}
}
在XPage上的一个按钮中,我调用thisAction("Save")
并调用thisAction函数,现在当msg为Save时我想调用函数processAction
,但它驻留在JS库jsSave中。上面的内容因错误而失败:
此动作在jsMain' jsSave'中失败找不到
那么有没有办法告诉这段代码,processAction在不同的SSJS库中?
答案 0 :(得分:4)
添加
127
在你的jsMain库之上,没有引号,没有文件扩展名:你将能够使用jsMain中jsSave中声明的函数。
答案 1 :(得分:0)
如果先加载jsMain,则无法在jsSave中调用函数。但是,您可以从jsSave中调用jsMain中的函数,因为它是先加载的。
答案 2 :(得分:0)
您的页面应该包括js库和jsSave库应该是第一个。
<script src="jsSave.js"></script>
<script src="jsMain.js"></script>
另请参阅模块化javascript模式。
答案 3 :(得分:-1)
您是否尝试将两个库添加到您的页面?我认为那会奏效。或者,我想在库的顶部你可以做类似于LotusScript的事情:
use "myLibrary"
我想说你这样做:
import("jsSave");
但我对语法不肯定。我确定很久以前我已经做过了。