Table of Contents generated with DocToc 一.使用场景 二.市面上表达式引擎比较 2.1 Aviator 2.2 Jexl 一.使用场景 在做某些项目的时候,有时会遇到如下情景: 用户需要传入某个JAVA 表达式,然后后台将这个表达式当作JAVA代码执行 二.市面上表达式引擎比较 我们有许多表达式引擎可供选择: Jexl Aviator 2.1 Aviator avitor具体使用技巧可以参考这篇博客:https://blog.csdn.net/keda89…
在编写C#程序的时候,有时我们需要动态生成一些代码并执行.然而C#不像JavaScript有一个Eval函数,可以动态的执行代码.所有这些功能都要我们自己去完成.如下是实例. 动态创建代码: using System; using System.Data; using System.Configuration; using System.Text; using System.CodeDom.Compiler; using Microsoft.CSharp; using System.Reflec…
mvel 比较老牌了,很强大,但是好久没更新了 参考地址: http://mvel.documentnode.com/ https://github.com/mvel/mvel ScriptEngine 引擎 可以使用java 自带的ScriptEngine,基于此我们可以使用多种语言的实现,但是8之后就被移除了... graalvm 多语言引擎,可以集成ruby,js,python,groovy,kotlin....,总之很强大 JEXL 表达式语言,标准,灵活 http://commons.…
Jint   嵌入式的javascript脚本支持引擎,一直都在更新,对各种方法支持也比较好,可以 C# 交互. https://github.com/sebastienros/jint Jurassic 嵌入式的javascript脚本支持引擎,很久都没有更新了,和 jint很类似,稳定性还可以,可以 C# 交互. http://jurassic.codeplex.com/ IronPython 嵌入式的Python脚本引擎,支持各种python包.也是一个不错的引擎,但是对熟悉python的…
本人以前主要用的是MSSQL,最近项目在使用MYSQL,自己是一个 典型的小白.今天就记录一下 一个mysql存储过程,里面需要分割字符串和 动态执行sql语句. 关于字符串 分割我开始使用 LOCATE 和Position来做,不知道在proc 里面有时候报错,单独的查询有可以.后来在网上 找了一个 Mysql存储过程中字符串分割文章, 很多地方都推荐使用  SET @result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(plate_…
本文地址:http://www.cnblogs.com/liaoyu/p/real-time-compile-and-run-java-code-web-app.html 最近看到同事在页面上编译和执行java代码,有点像Web IDE,感觉很酷就试着自己实现下. 预期要实现以下几个功能: 页面上使用textarea作为简单的代码编辑器,通过单击执行按钮向服务器发送请求 服务器端接收到java代码,进行简单的校验,若检验通过则进行编译 如果编译错误,返回异常信息 重定向代码中的system.ou…
同步发布:http://www.yuanrengu.com/index.php/20170511.html 先简单介绍下反射的概念:java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. 反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配.在实际的业务中,可能会动态根据属性去获取值. 工具类如下: package…
Aviator是一个轻量级.高性能的Java表达式执行引擎, 本文内容主要来自于官方文档 简介 包依赖 使用手册 执行表达式 使用变量 exec 方法 调用函数 自定义函数 编译表达式 访问数组和集合 三元操作符 正则表达式匹配 变量的语法糖 nil 对象 日期比较 大数计算和精度 字面量表示 运算 类型转换和提升 decimal 的计算精度 强大的 seq 库 两种运行模式 调试信息 语法手册 数据类型 操作符 算术运算符 逻辑运算符 关系运算符 位运算符 匹配运算符 三元运算符 内置函数 相…
new Function与eval可以动态执行JS,只要把拼接好的JS方法,然后以字符串的形式传入到这两个函数,可以执行,其中new Function用在模板引擎比较多. 用 Function 类直接创建函数的语法如下: var function_name = new function(arg1, arg2, ..., argN, function_body) 在上面的形式中,每个 arg 都是一个参数,最后一个参数是函数主体(要执行的代码).这些参数必须是字符串. 比如: function c…
面向 Java 开发人员的 Ajax: 构建动态的 Java 应用程序 Ajax 为更好的 Web 应用程序铺平了道路 在 Web 应用程序开发中,页面重载循环是最大的一个使用障碍,对于 Java™ 开发人员来说也是一个严峻的挑战.在这个系列中,作者 Philip McCarthy 介绍了一种创建动态应用程序体验的开创性方式.Ajax(异步 JavaScript 和 XML)是一种编程技术,它允许为基于 Java 的 Web 应用程序把 Java 技术.XML 和 JavaScript 组合起来…