从rhino脚本返回Java bean时获取类转换异常

问题描述 投票:0回答:1

我在获取java.lang.ClassCastException: org.mozilla.javascript.NativeJavaObject cannot be cast to my custom object时将rhino脚本的类型转换为java bean。

String scriptText = "importClass(com.UserBean);\nfunction getUser()\n{\nvar user = UserFactory.getInstance().getDefaultUser();\nreturn user;\n}"
UserBean user = (UserBean) executeScript(scriptText);

但是,虽然类型转换我得到类转换异常,我是否需要在脚本中编写以将本机对象转换为UserBean。

java classcastexception rhino-script
1个回答
0
投票

在这里我得到了答案,我需要将原生对象转换为对象然后键入强制转换。

NativeJavaObject nativeObject = (NativeJavaObject) executeScript(scriptText);
UserBean user = (UserBean) nativeObject.unwrap();
© www.soinside.com 2019 - 2024. All rights reserved.