Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将类似JavaScript的语法解析到我自己的Java方法中_Java_Javascript_Parsing_Function - Fatal编程技术网

将类似JavaScript的语法解析到我自己的Java方法中

将类似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完成这项工作。有什

基本上,我希望能够解析类似JavaScript的语法。例如:

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)并从中运行函数。