展开 顺序号 标签

      JEXL代码
        1  示例
            1.1  对象
                1.1.1  双精度
var d = new('java.lang.Double', 0d);
return '最小正值=' + d.MIN_VALUE + ' 最大值=' + d.MAX_VALUE;
                1.1.2  字串
var s = new('java.lang.String', 'Hello');
return '包含e:'+ s.contains('e') + '  长度:' + s.length();
                1.1.3  时间
var date = new('java.util.Date');
return '当前时间:' + date.toString() + '  值:' + date.getTime();
            1.2  Math
                1.2.1  欧拉数
Math.E
jexlContext.set("Math", Math.class);
                1.2.2  圆周率
Math.PI
jexlContext.set("Math", Math.class);
                1.2.3  绝对值
Math.abs(-5.611)
jexlContext.set("Math", Math.class);
                1.2.4  平方根
Math.sqrt(9)
jexlContext.set("Math", Math.class);
                1.2.5  三次方根
Math.cbrt(27)
jexlContext.set("Math", Math.class);
                1.2.6  
Math.pow(2,5)
jexlContext.set("Math", Math.class);
                1.2.7  欧拉冥
Math.exp(2)
jexlContext.set("Math", Math.class);
                1.2.8  自然对数(底为e)
Math.log(6)
jexlContext.set("Math", Math.class);
                1.2.9  常用对数(底为10)
Math.log10(6)
jexlContext.set("Math", Math.class);
                1.2.10  余弦
Math.cos(0)
jexlContext.set("Math", Math.class);
                1.2.11  正弦
Math.sin(9)
jexlContext.set("Math", Math.class);
                1.2.12  正切
Math.tan(5)
jexlContext.set("Math", Math.class);
                1.2.13  反正切
Math.atan(-7.3)
jexlContext.set("Math", Math.class);
                1.2.14  反余弦
Math.acos(0.5)
jexlContext.set("Math", Math.class);
                1.2.15  反正弦
Math.asin(0.3)
jexlContext.set("Math", Math.class);
                1.2.16  上舍入
Math.ceil(4.13)
jexlContext.set("Math", Math.class);
                1.2.17  下舍入
Math.floor(4.67)
jexlContext.set("Math", Math.class);
                1.2.18  四舍五入
Math.round(4.83)
jexlContext.set("Math", Math.class);
                1.2.19  随机数
Math.random( )
jexlContext.set("Math", Math.class);
                1.2.20  大值
Math.max(1,-3)
jexlContext.set("Math", Math.class);
                1.2.21  小值
Math.min(1,-3)
jexlContext.set("Math", Math.class);
            1.3  布尔表达式
                1.3.1  数组包含
var value = 3;
var array = [1,'2',3, 'hello'];
value =~ array;
                1.3.2  集合不包含
var value = 2;
var set = {1,'2',3, 'hello'};
value !~ set;
                1.3.3  字符串匹配
var s = 'abc1233hello';
var regex = '\\S*3{2,}\\S*';
var caseInsensitive = true;
StringTools.match(s,regex,caseInsensitive);
jexlContext.set("StringTools", mara.mybox.tools.StringTools.class);
                1.3.4  字符串包含
var s = 'abc1233hello';
var regex = '3{2}';
var caseInsensitive = true;
StringTools.include(s,regex,caseInsensitive);
jexlContext.set("StringTools", mara.mybox.tools.StringTools.class);
                1.3.5  与/或/否
var a = 5;
var b = 2;
'hello'.startsWith('hell') and ( a < 9 or b >= 6  ) and not ( a == b );
            1.4  数值处理
                1.4.1  小数位数
var d = 52362.18903;
var scale = 2;
DoubleTools.scale(d, scale);
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);
                1.4.2  格式
var d = 52362.18903;
var scale = 2;
DoubleTools.format(d, scale);
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);
                1.4.3  百分数
var number = 37;
var total = 518;
var scale = 2;
DoubleTools.percentage(number, total, scale);
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);
            1.5  时间
                1.5.1  现在
DateTools.nowString();
jexlContext.set("DateTools", mara.mybox.tools.DateTools.class);
                1.5.2  格式
var date = new('java.util.Date');
var format = 'yyyy-MM-dd HH:mm:ss.SSS';
DateTools.datetimeToString(date, format);
jexlContext.set("DateTools", mara.mybox.tools.DateTools.class);
            1.6  语句
                1.6.1  循环
var array = [ 'A', 'B', 'C', 'D' ];
var arrayString = '';
for (var i : 1 .. size (array)) {
    if (empty (arrayString)) {
         arrayString = array[i-1];
    } else {
         arrayString += ' , ' + array[i-1];
    }
}
return arrayString;
                1.6.2  函数
var circleArea = function(r) {
    Math.PI * r * r 
}
var r = 9.42;
return circleArea(r);
jexlContext.set("Math", Math.class);

* 网页可编辑时,链接和控件可能不响应。