package com.ruoyi.project.front.controller;

import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.utils.IdUtils;
import com.ruoyi.common.utils.StringUtils;
//import javafx.util.Pair;
//import org.apache.commons.lang3.tuple.ImmutablePair;
//import org.apache.commons.lang3.tuple.MutablePair;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.project.front.domain.*;
import com.ruoyi.project.front.service.*;
import com.ruoyi.project.material.domain.QuoteMatSpecs;
import com.ruoyi.project.material.service.IQuoteMatSpecsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.framework.web.domain.AjaxResult;
// groovy 动态执行
import groovy.lang.Binding;
import groovy.lang.GroovyShell;
//
import javax.script.*;
import javax.servlet.http.HttpServletRequest; public void test1()
{
ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
Compilable compilable = (Compilable) engine;
Bindings bindings = engine.createBindings();
String script = "(1+0.1 * (F/100) * T)*P0";
CompiledScript JSFunction = null;
try {
JSFunction = compilable.compile(script);
bindings.put("F", 2.5);
bindings.put("T", 30);
bindings.put("A", 100);
bindings.put("P0", 100);
Object result = JSFunction.eval(bindings);
System.out.println(result);
} catch (ScriptException e) {
//e.printStackTrace();
}
} public void test2()
{
//示例一
//GroovyShell shell = new GroovyShell();
//Object result = shell.evaluate("(1+5)/2");
//System.out.println(result); Binding binding = new Binding();
binding.setVariable("F",2.5);
binding.setVariable("T",30);
binding.setVariable("A",100);
binding.setVariable("P0",100);
binding.setVariable("language", "Groovy");
GroovyShell shell = new GroovyShell(binding);
Object F1 =shell.evaluate("P1=(1+0.1 * (F/100) * T)*P0; return P1 ");
System.out.println(F1);
Object F2 =shell.evaluate("P1=P0*(0.055*0.20+1.0011)+A; return P1 ");
System.out.println(F2);
}

java 执行 javascript 代码的更多相关文章

  1. Java执行JavaScript代码

    Java执行JavaScript代码 这篇文章主要为大家详细介绍了Java执行JavaScript代码的具体操作方法,感兴趣的小伙伴们可以参考一下 我们要在Java中执行JavaScriptMetho ...

  2. JAVA中执行JavaScript代码并获取返回值

    JAVA中执行JavaScript代码并获取返回值 场景描述 实现思路 技术要点 代码实现 测试方法 运行结果 改进空间 场景描述 今天在CSDN上偶然看到一个帖子对于一段字符串 “var p=‘xx ...

  3. 尚学堂 215 在java中执行JavaScript代码

    package com.bjsxt.test; import java.io.FileReader; import java.net.URL; import java.util.List; impor ...

  4. python中执行javascript代码

    python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext()     ctxt.enter()     ...

  5. C#执行javascript代码

    最近在做网站自动登陆小工具,遇到技术屏障.密码在submit时会使用js进行加密.这时我需要模拟这个加密过程,想到使用C#执行javascript代码. 对于执行javascript代码,纯代码方式使 ...

  6. Java执行JavaScript脚本破解encodeInp()加密

    一:背景 在模拟登录某网站时遇到了用户名和密码被JS进行加密提交的问题,如图: 二:解决方法 1.我们首先需要获得该JS加密函数,一般如下: conwork.js var keyStr = " ...

  7. UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等)

    UWP 中使用 WebView 时可以在网页中额外执行一些代码.于是你几乎可以在网页上做任何事情,那些你可以在浏览器控制台中做的事情. 本文将介绍做法. 本文内容 准备环境 执行 JavaScript ...

  8. UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv

    原文:UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) ...

  9. Windows使用Java执行cmd代码

    话不多说,直入正题 今天给大家分享下,怎么在Windows上使用Java执行Cmd代码! 首先默认大家都熟悉cmd代码,以及cmd的命令行操作. 直接在main方法中写这一行(需要抛出异常),可以直接 ...

  10. java执行bat代码

    java执行bat代码.txt public static void runbat(String path,String filename) { String cmd = "cmd /c s ...

随机推荐

  1. RabbitMQ 03 直连模式-可视化界面

    这里先演示最简单的模型:直连模式.其结构图为: 一个生产者 -> 消息队列 -> 一个消费者 生产者只需要将数据丢进消息队列,而消费者只需要将数据从消息队列中取出,这样就实现了生产者和消费 ...

  2. HMS Core助力同程旅行,打造更贴心的用户出行体验

    作为中国在线旅行行业的创新者,同程旅行聚焦年轻.时尚.个性的消费群体,致力于为用户提供更便捷.聪明.安全的出行服务.近年来,同程旅行通过人工智能等创新科技的应用将平台原本的交易撮合角色转变为" ...

  3. 开始学习web-sql注入

    web内容多且杂,不知道怎么下手开始学,那就先从sql注入开始学吧 目前只在b站上找了一些课程,还有ctfwiki作为参考 链接贴在下面: ctfwiki https://www.bilibili.c ...

  4. 【直播预告】HarmonyOS 极客松赋能直播第六期:产品创新从哪里来?

  5. Centos8安装docker-ce

    一.安装步骤 1.安装yum-utils yum install -y yum-utils 2.配置阿里源 yum-config-manager --add-repo http://mirrors.a ...

  6. js中“??“和“?.“怎么用?

    ??:空值合并操作符 逻辑操作符,左侧为null和undefined时,才返回右侧的数const sum = null ?? 12console.log(sum);//输出12const sum1 = ...

  7. 5年磨一剑|优酷Android包瘦身治理思路全解

    简介: 稳定性.性能.包大小,在移动端基础用户体验领域"三分天下",是app承载业务获得稳定.高效.低成本.快速增长的重要基石.其中,包大小对下载转化率.拉新拉活成本等方面的影响至 ...

  8. 千万商家的智能决策引擎--AnalyticDB如何助力生意参谋双十一

    作者:算法&健兮,阿里巴巴数据技术及产品部技术专家 生意参谋介绍 生意参谋是阿里官方打造的全渠道.全链路.一站式数据平台,致力于为用户提供经营分析.市场洞察.客群洞察等多样化数据服务,帮助用户 ...

  9. MaxCompute Tunnel 技术原理及开发实战

    简介: MaxCompute(原名ODPS)是一种快速.完全托管的EB级数据仓库解决方案, 致力于批量结构化数据的存储和计算,为用户提供数据仓库的解决方案及分析建模服务.Tunnel是MaxCompu ...

  10. 浏览器扩展开发-Firefox临时载入附加组件(图)

    科普:[FE] Quasar BEX 热加载区别: Chrome vs Firefox 1. 2.  3. Thats all. Refer:Firefox扩展开发 Link:https://www. ...