在Java中执行JavaScript代码
我们要在Java中执行中的execute(s1,s2)方法,文件内容如下:
function execute(s1, s2){ return s1 + s2;}
首先需要定义一个接口,这个接口中给出与要执行的JavaScript方法一样的方法签名,我们定义接口Methods,它的内容如下:
/** * 接口中的方法签名必须与要执行的JavaScript方法一致 * @author yuncong * */public interface Methods { public String execute(String s1,String s2);}
然后,就可以用脚本引擎执行中execute(s1,s2)方法了,具体内容写在下面的ExecuteScript类中的':
import Reader;import cable;import ptEngine;import ptEngineManager;public class ExecuteScript { public static void main(String[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = ngineByName("js"); try { String path = esource("")ath(); tln(path); // FileReader的参数为所要执行的js文件的路径 (new FileReader(path + "")); if (engine instanceof Invocable) { Invocable invocable = (Invocable) engine; Methods executeMethod = nterface(s); tln(ute("li", "yuncong")); } } catch (Exception e) { tStackTrace(); } }}
运行ExecuteScript类,输出如下:
/C:/Users/yuncong/git/login/target/classes/executescript/ liyuncong
-
针对dom元素的分析应用
如果这个DOM元素没有样式也就谈不上操作了。2.我们也可以直接用JS动态的向html里写入DOM元素。今天这章我们就讲这两个应用(一)对html里现有的DOM元素进行操作。我上面说了,对现有的DOM元素进行操作,无非就是对样式的操作。所以我们首先就要能获取这个DOM元素的样...
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
如何理解Javascript的caller,callee,call,apply区别
在提到上述的概念之前,首先想说说javascript中函数的隐含参数:argumentsarguments该对象代表正在执行的函数和调用它的函数的参数。[function.]arguments[n]参数function:选项。当前正在执行的Function对象的名字。n:选项。要传递给Function对象的从0开始的参数值...
-
解决PHP中的Cannot modify header information 问题
我就遇到这种问题,网上找到这个解决的方案,就收藏下写PHP的朋友们肯定遇到过这样一个问题:通过header函数改变http协议头的时候,会出现一个类似下面格式的warning:复制代码代码如下:Warning:Cannotmodifyheaderinformation-headersalreadysentby这是为什么呢?因为在...