类型:processor
名称:scriptFilter
-
language
- 描述:脚本语言类型,支持groovy,fel,bsh,javascript
- 必选:否
- 字段类型:String
- 默认值:默认采用fel语言
-
expression
- 描述:脚本语言表达,并返回boolean值。
- 注意:
- 表达式需返回Boolean值!
- 可通过"row"变量获取到Row行记录集,例如判断性别为1的记录,表达式如:row.getField('sex')==1。其中sex对应配置的数据库column列名。
- 支持 && || !(与或非)等操作,具体的表达式语法可参见各个脚本语言的编写规则。
- 必选:是
- 字段类型:String
- 默认值:无
{
"type": "processor",
"pluginName": "scriptFilter",
"parameter": {
"expression": "row.getField('sex')==1 && row.getField("name")==\"zhangsan\" " ,
"language": "groovy"
}
}另外,可通过类静态方法进行参数校验,例如框架内置了hutool工具包,通过cn.hutool.core.util.IdcardUtil进行身份证校验(bsh同样可采用此种方式),例如:
{
"type": "processor",
"pluginName": "scriptFilter",
"parameter": {
"expression": "cn.hutool.core.util.IdcardUtil.isValidCard(row.getField(\"SFZH\")) " ,
"language": "groovy"
}
}{
"type": "processor",
"pluginName": "scriptFilter",
"parameter": {
"expression": "row.getField('sex')==1 && !(row.getField("name")==\"zhangsan\") ",
"language": "fel"
}
}{
"type": "processor",
"pluginName": "scriptFilter",
"parameter": {
"expression": "row.getField('sex')==1 && row.getField("name")==\"zhangsan\" " ,
"language": "javascript"
}
}{
"type": "processor",
"pluginName": "scriptFilter",
"parameter": {
"expression": "row.getField('sex')==1 && row.getField("name").equals(\"zhangsan\") " ,
"language": "bsh"
}
}