0

要求是使用 JEXL 从带有字符串参数的文件中评估 java 方法,如下所示:

object.method("argument");

但是,有时我的 String 参数是用不同的引号写的:

object.method(«argument»);

根据 JEXL 文档,我可以使用单引号 ' 或双引号 ",但不能使用我的法语 guillemet: https ://commons.apache.org/proper/commons-jexl/reference/syntax.html#Literals

一种方法是先清理的文件,替换所有不同的引号并始终使用相同的。

有没有其他可能的方法来改变这种行为?

4

1 回答 1

0

您绝对应该用一种受支持的语法(引号/双引号)替换法语 guillemets。如果您绝对必须遵守这个(奇怪的)约定并且能够/愿意派生/构建您自己的 JEXL 本地版本,那么您必须更改 Javacc 语法以接受这个新的“字符串”语法。http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_3_1/src/main/java/org/apache/commons/jexl3/parser/Parser.jjt?view=markup#l244附近的某个地方

于 2017-09-25T14:02:58.633 回答