将类似JavaScript的语法解析到我自己的Java方法中
基本上,我希望能够解析类似JavaScript的语法。例如:将类似JavaScript的语法解析到我自己的Java方法中,java,javascript,parsing,function,Java,Javascript,Parsing,Function,基本上,我希望能够解析类似JavaScript的语法。例如: var results = system.function('example'); if(results == "hello") { console_print("ding dong."); } 所以基本上你得到了它,结果将是一个“字符串”,并且system.function将调用一个Java方法,这些结果将进入结果字符串 我希望能够进行基本的数学运算,并在这方面进行验证,但我希望用Java完成这项工作。有什
var results = system.function('example');
if(results == "hello") {
console_print("ding dong.");
}
所以基本上你得到了它,结果将是一个“字符串”,并且system.function
将调用一个Java方法,这些结果将进入结果字符串
我希望能够进行基本的数学运算,并在这方面进行验证,但我希望用Java完成这项工作。有什么想法吗?我想你可以用这个。Rhino是一个可以嵌入java的javascript引擎。如果您愿意使用javascript(不仅仅是类似javascript的),并且您使用的是java 1.6+,那么您可以使用: 将打印:
ding dong.
From Java, param=15
到控制台
要从脚本语言调用Java方法,您可以尝试:
将打印:
ding dong.
From Java, param=15
这个字符串只有143KB:我想,要比它轻一些是很困难的。@Kiers:u是如何用
\n
,“
和+
?手动或任何快捷方式?@Kowser,我使用纯文本编辑器创建了JavaScript片段,并通过JavaScript解释器运行它。当它运行时没有任何问题,我只是将代码粘贴到空字符串文本中:stringsource=“”
和IntelliJ确保引号被正确转义,并为我添加了换行符。这并不是我想要的,我希望能够将其路由到Java中的函数。。或者你能做到吗?如果你能给出一个很好的例子,@Mark,你说:“system.function将调用一个函数,”。也许您应该编辑您的问题并添加这些额外的信息,这些信息不仅是您想要调用的函数,而且是Java方法。你知道一种方法可以像你对test.Main.foo类所说的那样“坐牢”,这样它就不能被重新编写来访问test.security.Decrypt或test.security.Encrypt?有没有更轻量级的版本?@Mark,这和我的建议一样。这听起来很愚蠢,但我想调用一个JavaScript文件(file.js)并从中运行函数。