展开 层次号 标签

      JEXL代码
        1  示例
            1.1  时间
                1.1.1  现在
脚本
DateTools.nowString();
Context
jexlContext.set("DateTools", mara.mybox.tools.DateTools.class);
                1.1.2  格式
脚本
var date = new('java.util.Date');
var format = 'yyyy-MM-dd HH:mm:ss.SSS';
DateTools.datetimeToString(date, format);
Context
jexlContext.set("DateTools", mara.mybox.tools.DateTools.class);
            1.2  语句
                1.2.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.2.2  函数
脚本
var circleArea = function(r) {
    Math.PI * r * r 
}
var r = 9.42;
return circleArea(r);
Context
jexlContext.set("Math", Math.class);
            1.3  对象
                1.3.1  双精度
var d = new('java.lang.Double', 0d);
return '最小正值=' + d.MIN_VALUE + ' 最大值=' + d.MAX_VALUE;
                1.3.2  字串
var s = new('java.lang.String', 'Hello');
return '包含e:'+ s.contains('e') + '  长度:' + s.length();
                1.3.3  时间
var date = new('java.util.Date');
return '当前时间:' + date.toString() + '  值:' + date.getTime();
            1.4  Math
                1.4.1  欧拉数
脚本
Math.E
Context
jexlContext.set("Math", Math.class);
                1.4.2  圆周率
脚本
Math.PI
Context
jexlContext.set("Math", Math.class);
                1.4.3  绝对值
脚本
Math.abs(-5.611)
Context
jexlContext.set("Math", Math.class);
                1.4.4  平方根
脚本
Math.sqrt(9)
Context
jexlContext.set("Math", Math.class);
                1.4.5  三次方根
脚本
Math.cbrt(27)
Context
jexlContext.set("Math", Math.class);
                1.4.6  
脚本
Math.pow(2,5)
Context
jexlContext.set("Math", Math.class);
                1.4.7  欧拉冥
脚本
Math.exp(2)
Context
jexlContext.set("Math", Math.class);
                1.4.8  自然对数(底为e)
脚本
Math.log(6)
Context
jexlContext.set("Math", Math.class);
                1.4.9  常用对数(底为10)
脚本
Math.log10(6)
Context
jexlContext.set("Math", Math.class);
                1.4.10  余弦
脚本
Math.cos(0)
Context
jexlContext.set("Math", Math.class);
                1.4.11  正弦
脚本
Math.sin(9)
Context
jexlContext.set("Math", Math.class);
                1.4.12  正切
脚本
Math.tan(5)
Context
jexlContext.set("Math", Math.class);
                1.4.13  反正切
脚本
Math.atan(-7.3)
Context
jexlContext.set("Math", Math.class);
                1.4.14  反余弦
脚本
Math.acos(0.5)
Context
jexlContext.set("Math", Math.class);
                1.4.15  反正弦
脚本
Math.asin(0.3)
Context
jexlContext.set("Math", Math.class);
                1.4.16  上舍入
脚本
Math.ceil(4.13)
Context
jexlContext.set("Math", Math.class);
                1.4.17  下舍入
脚本
Math.floor(4.67)
Context
jexlContext.set("Math", Math.class);
                1.4.18  四舍五入
脚本
Math.round(4.83)
Context
jexlContext.set("Math", Math.class);
                1.4.19  随机数
脚本
Math.random( )
Context
jexlContext.set("Math", Math.class);
                1.4.20  大值
脚本
Math.max(1,-3)
Context
jexlContext.set("Math", Math.class);
                1.4.21  小值
脚本
Math.min(1,-3)
Context
jexlContext.set("Math", Math.class);
            1.5  布尔表达式
                1.5.1  数组包含
var value = 3;
var array = [1,'2',3, 'hello'];
value =~ array;
                1.5.2  集合不包含
var value = 2;
var set = {1,'2',3, 'hello'};
value !~ set;
                1.5.3  字符串匹配
脚本
var s = 'abc1233hello';
var regex = '\\S*3{2,}\\S*';
var caseInsensitive = true;
StringTools.match(s,regex,caseInsensitive);
Context
jexlContext.set("StringTools", mara.mybox.tools.StringTools.class);
                1.5.4  字符串包含
脚本
var s = 'abc1233hello';
var regex = '3{2}';
var caseInsensitive = true;
StringTools.include(s,regex,caseInsensitive);
Context
jexlContext.set("StringTools", mara.mybox.tools.StringTools.class);
                1.5.5  与/或/否
var a = 5;
var b = 2;
'hello'.startsWith('hell') and ( a < 9 or b >= 6  ) and not ( a == b );
            1.6  数值处理
                1.6.1  小数位数
脚本
var d = 52362.18903;
var scale = 2;
DoubleTools.scale(d, scale);
Context
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);
                1.6.2  格式
脚本
var d = 52362.18903;
var scale = 2;
DoubleTools.format(d, scale);
Context
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);
                1.6.3  百分数
脚本
var number = 37;
var total = 518;
var scale = 2;
DoubleTools.percentage(number, total, scale);
Context
jexlContext.set("DoubleTools", mara.mybox.tools.DoubleTools.class);

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