当我尝试使用找到的解决方案在javascript中从Node转换为String时,从此行开始
var transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer();
它说
消息:(无法执行所需的评估:JavaScript 错误:内部错误:ReferenceError:未定义“javax”。 (JavaScript错误:内部错误:ReferenceError:“javax”不是 定义。)
但java *包中的类工作正常
这有效:
var writer = new java.io.StringWriter();
是否可以在不使用javax * package的类的情况下将Node
转换为String
?
使用org.w3c。*即可
答案 0 :(得分:1)
Sonic ESB内部使用Rhino作为其JavaScript引擎。
从JavaScript调用Java时,应使用Packages
引用Java类:Packages.javax.xml.transform.TransformerFactory
你可以毫无困难地使用java包的原因是Packages.java
在全局变量java
中有别名。
执行此操作时,您可以正常使用javax
包中的类。实际上,您可以将任何您喜欢的jar添加到类路径中并使用这些类。
https://developer.mozilla.org/en-US/docs/Rhino/Scripting_Java