Java 在Rhino js中,新行不';我不能正确地转换
我正在试验Rhino java引擎,我想将其嵌入到我的一个项目中。我创建了一个可编写脚本的对象范围,它定义了JavaScript中的全局函数Java 在Rhino js中,新行不';我不能正确地转换,java,javascript,newline,rhino,Java,Javascript,Newline,Rhino,我正在试验Rhino java引擎,我想将其嵌入到我的一个项目中。我创建了一个可编写脚本的对象范围,它定义了JavaScript中的全局函数print、printLine、log、logLine。我可以通过调用pullOutput来提取这些函数打印和记录的所有数据,这将返回一对所有打印输出和记录输出。我已经测试了这些功能,所有功能都按预期工作,但有一件事 当我为日志函数提供一个新行作为参数时,字符串不包含新行字符 但只是“\n”。例如,以下代码: Context context;
print、printLine、log、logLine
。我可以通过调用pullOutput
来提取这些函数打印和记录的所有数据,这将返回一对所有打印输出和记录输出。我已经测试了这些功能,所有功能都按预期工作,但有一件事
当我为日志函数提供一个新行作为参数时,字符串不包含新行字符
但只是“\n”。例如,以下代码:
Context context;
try {
context = Context.enter();
TemplateScope scope = TemplateScope.init(context);
context.evaluateString(scope, "log(\"test\" + \"\\n\");", "test source", 1, null);
Pair<String, String> result = scope.pullOutput();
System.out.println("log is: " + result.b);
} finally {
Context.exit();
}
这显然不是我所期望的
完整代码如下:
已经修复了它。另一个库用一个旧版本改写了我自己的rhino版本,并引入了这个bug
out is:
log is: test\n