Bil*_*l F 1 java xpages xpages-ssjs
我有一个被称为托管bean的JAVA类.下面的代码是它的精简版本:
package ca.wfsystems.core;
import lotus.domino.*;
public class Utils {
public static void recycleObjects(Object... args) {
for (Object o : args) {
if (o != null) {
if (o instanceof Base) {
try {
((Base) o).recycle();
} catch (Throwable t) {
// who cares?
}
}
}
}
} //end recycleObjects
public static void sysOut(Object msg){
System.out.println(msg.toString());
} //end sysOut
}// End Class
Run Code Online (Sandbox Code Playgroud)
当从JAVA代码调用时,对recycleObjects(someObject)的调用工作正常,但是当我在一个名为TestError的XPage上的按钮中从SSJS调用它时,我得到消息"状态数据不可用于/ TestError,因为没有找到控制树缓存".按钮中的SSJS代码是:
WFSUtils().sysOut("In Button");
var vw:NotesView = WFSAppProperties().get(sessionScope.get("ssApplication")).getAppDB().getView("vwWFSForms");
WFSUtils().sysOut("Testing Bean" + vw.getName());
WFSUtils().recycleObjects(vw);
Run Code Online (Sandbox Code Playgroud)
其中WFSUtils是托管bean的名称.
客户端中的错误说:执行JavaScript动作表达式时出错脚本解释器错误,行= 6,col = 12:java类'ca.wfsystems.core.Utils上的Java方法'recycleObjects(lotus.domino.local.View)' '找不到JavaScript代码
我搜索了错误"状态数据不可用"但在使用扩展库时找到了一个引用,但此代码不使用它.
您正在使用方法中的varargs.
使用SSJS的varargs是不可能的.相反,您可以调用相同的方法:
WFSUtils().recycleObjects([vw]);
Run Code Online (Sandbox Code Playgroud)
它将以这种方式工作.
| 归档时间: |
|
| 查看次数: |
636 次 |
| 最近记录: |