- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个下面使用 JEXL 的评估器。我知道如何在 Jexl 中引入工作区,但这只允许类定义,我需要定义方法定义。在下面的示例中,为了访问 Math 的 log 函数,我必须将其添加到函数上下文中。我希望能够计算表达式:“log(5)”,即不使用限定符。
Map<String, Object> funcs = new HashMap<String, Object>();
funcs.put("math", Math.class);
JexlEngine jexl = new JexlBuilder().namespaces(funcs).create();
JexlExpression je = jexl.createExpression("math:log(5)");
je.evaluate();
最佳答案
如果 Math 是函数的唯一来源,则可以使用“null”命名空间。
Map<String, Object> funcs = new HashMap<String, Object>();
funcs.put(null, Math.class);
JexlEngine jexl = new JexlBuilder().namespaces(funcs).create();
JexlExpression je = jexl.createExpression("log(5)");
Object result = je.evaluate(null);
Assert.assertNotNull(result);
如果您需要的不仅仅是数学作为源,恐怕您必须创建自己的类,将每个方法委托(delegate)给其源。
关于java - Jexl 执行动态字符串转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56578368/
我必须使用JEXL表达式,并且需要使用JEXL获取当前的年份和月份。可能吗? 最佳答案 您可以使用JETT,它允许在JEXL代码中调用静态方法: ETT扩展了JEXL,允许直接在JEXL表达式中引用静
我在 Java 中以标准方式使用 JEXL: var script = new JexlBuilder().create().createScript(jexlScript); var jexlCon
我正在构建一个下面使用 JEXL 的评估器。我知道如何在 Jexl 中引入工作区,但这只允许类定义,我需要定义方法定义。在下面的示例中,为了访问 Math 的 log 函数,我必须将其添加到函数上下文
Apache JEXL 脚本引擎调用上下文的 setter 方法来完成脚本中所做的分配。我提供的上下文将接管来存储作业。 a = mylib.hello(); 声明局部变量时,上下文相当于什么? va
我有数据对象,您可以将其视为“简化的 map ”。有方法 get(String) 和 put(String,Object),但基本上就是这样。 现在,我想使用 JEXL 来计算数据对象上的复杂表达式。
我正在使用 JEXL 来评估字符串,如下所示: 'GroupName'.'ProductName'.'item'.'fields'.'duration' 其中 GroupName 和 ProductN
如何获取未知变量的所有警告信息? 我有一个表达式,我想对其进行评估并了解所有缺失的变量。 示例: jexl.setStrict(false); Expression e = (Expression)
我使用 apache 中的 Jexl lib,并且在使用 Expression 类的 evaluate() 方法时遇到一些问题。这是 NelderMead 类的代码: import org.apach
我向 JEXL 引擎添加了一些可在 JEXL 表达式中使用的函数: Map functions = new HashMap(); mFunctions = new ConstraintFunction
按照其网站上的示例,http://jxls.sourceforge.net/getting_started.html 。我在尝试写入处理后的文件时遇到了问题。它没有写入应由 JEXL 替换的数据,而是
JEXL 评估返回 int 而不是 float: JexlEngine jexl = new JexlEngine(); Expression e = jexl.createExpression("7
我正在使用 JEXL http://commons.apache.org/proper/commons-jexl/评估字符串。 我尝试了以下代码 String jexlExp = "'
我想从数据库中提取一个文本字段并将其插入到其他数据库中。因此,在提取时,我在选择测试时使用了 REPLACE(message_text,'\'', '"')。我给了我一个错误。我从我的 select
我知道,我可以在 JEXL 中做几件事, 但在其中找不到Filter 功能,这确实非常有用。 我怎样才能做类似的事情 var x=[{a:11,b=5},{a:1,b=15},{a:12,b=25}
JEXL 脚本与 JEXL 表达式不同。 我在源代码中看到了对函数的引用,但没有看到有关它的文档。可能还没有实现吗? 它有一个 JSR-223 接口(interface)。 最佳答案 如果你需要定义函
我正在尝试使用 Jett 来转换我的工作簿,如下所示: HashMap tm = new HashMap(); tm.put("mod", "123"); ExcelTransformer t = n
有没有人有任何使用循环的简单 JEXL 示例。我希望遍历一个简单的对象数组列表来输出各种字符串值? 最佳答案 输入 452' 的完整示例如下: public static void testSimpl
我正在用 Java 开发一个系统来检查文本中关键字组合的出现情况。例如,我要检查以下表达式: ( Yellow || red ) && couch 。 我把工作分成两步。第一个是检测文本中的单个单词。
我正在为 JEXL 脚本创建一个沙箱,以便恶意用户无法访问我们授予他们访问权限的变量之外的数据,也无法对服务器执行 DOS 攻击。我想为同样这样做的其他人记录下来,并征求其他人对该方法的意见。 以下是
我想在不将任何对象放入 JEXL 上下文的情况下调用类的静态方法。 对于实例方法,我们将一个对象放入 MapContext 并使用键来调用该方法。但就我而言,我没有任何上下文。 ${person.ho
我是一名优秀的程序员,十分优秀!