| 类 | 说明 |
|---|---|
| Arith |
Arithmetic
1:支持 byte short int long float double BigDecimal 的 + - * / % 运算
2:支持字符串加法运算
|
| Array |
Array
用法:
1:[1, 2, 3]
2:["a", 1, "b", 2, false, 3.14]
|
| Array.ArrayListExt |
支持 array.length 表达式
|
| Assign |
Assign
支持三种赋值,其中第二种如果括号中是 ID 或 STR 则演变为第三种是对 map 赋值:
1:ID = expr
2:ID [ expr ] = expr
如果 expr 为 int 或 long 型,则是对 array 赋值
如果 expr 为 ID、STR 型,则是对 map 进行赋值
否则抛异常出来
3:ID [ ID ] = expr 或者 ID [ STR ] = expr
4:支持无限连:id = array[ i = 0 ] = array[1] = 123
|
| Compare |
Compare
1:支持 byte short int long float double BigDecimal 的 == !
|
| Const |
STR INT LONG FLOAT DOUBLE true false null
|
| Expr |
Expr
|
| ExprList |
ExprList
|
| Field |
Field
field 表达式取值优先次序,以 user.name 为例
1:假如 user.getName() 存在,则优先调用
2:假如 user 为 Model 子类,则调用 user.get("name")
3:假如 user 为 Record,则调用 user.get("name")
4:假如 user 为 Map,则调用 user.get("name")
5:假如 user 具有 public name 属性,则取 user.name 属性值
|
| FieldKit |
FieldKit
|
| ForCtrl |
forCtrl : ID : expression
| exprList?
|
| Id |
Id
|
| IncDec |
自增与自减
|
| Index |
index : expr '[' expr ']'
支持 a[i]、 a[b[i]]、a[i][j]、a[i][j]...
|
| Logic |
Logic
支持逻辑运算: !
|
| Map |
Map
1:定义 map 常量
{k1:123, k2:"abc", 'k3':true, "k4":[1,2,3], k5:1+2}
如上所示,map定义的 key 可以为 String 或者 id 标识符,而右侧的 value 可以是任意的常量与表达式
2:取值
先将 Map 常量赋值给某个变量: #set(map = {...})
|
| Method |
Method : expr '.'
|
| MethodInfo |
MethodInfo
|
| MethodInfoExt |
MethodInfoExt 辅助实现 extension method 功能
|
| MethodKit |
MethodKit
|
| NullSafe |
NullSafe
在原则上只支持具有动态特征的用法,例如:方法调用、字段取值、Map 与 List 取值
而不支持具有静态特征的用法,例如:static method 调用、shared method 调用
用法:
#( seoTitle ??
|
| RangeArray |
RangeArray : [expr .. expr]
用法:
1:[1..3]
2:[3..1]
|
| RangeArray.RangeList | |
| SharedMethod |
SharedMethod
用法:
engine.addSharedMethod(object);
engine.addSharedStaticMethod(Xxx.class);
#(method(para))
|
| SharedMethodKit |
SharedMethodKit
|
| StaticField |
StaticField : ID_list '::' ID
动态获取静态变量值,变量值改变时仍可正确获取
用法:com.jfinal.core.Const::JFINAL_VERSION
|
| StaticMethod |
StaticMethod : ID_list : '::' ID '(' exprList?
|
| Ternary |
Ternary
|
| Unary |
unary : ('!'
|
Copyright © 2017. All rights reserved.