java调用javascript
java调用javascript
无知有趣 发表于4年前
java调用javascript
  • 发表于 4年前
  • 阅读 135
  • 收藏 1
  • 点赞 0
  • 评论 2

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 通过javascript的eval实现表达式计算。
ScriptEngineManager sem = new ScriptEngineManager();
 
//ScriptEngineFactory sef = sem.getEngineFactories().get(0);
//ScriptEngine se = sef.getScriptEngine();
//sef.getNames():js, rhino, JavaScript, javascript, ECMAScript, ecmascript
ScriptEngine se = sem.getEngineByName("js");
 
se.put("v1", 1);
se.put("v2", 2);
se.eval("function express(p1){" +
  "  return eval(p1);" +
  "}");
 
Invocable ic = (Invocable)se;
System.out.println(ic.invokeFunction("express", "(v2 > v1) || 3 > 2"));

标签: eval
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 13
博文 115
码字总数 33089
评论 (2)
无知有趣
Since:1.6
无知有趣
new ScriptEngineManager().getEngineByName("javascript").eval("1+(2-3*4)/5")
×
无知有趣
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: