条件表达式
小于 1 分钟
条件表达式
1、内置表达式
目前内置了大于、大于等、等于、不等于、小于、小于等于、包含、不包含,并且支持扩展
扩展需要实现ExpressionStrategy.java或者继承ExpressionStrategyAbstract.java
并且通过这个方法进行注册ExpressionUtil.setExpression
2、Spring Expression Language(SpEL)
通过SPI集成SpEL,使用SpEL表达式,引入以下包,前端配置如@@spel@@|#{@user.eval()}
表达式,即可解析
测试案例com.warm.flow.sb.test.expression.ExpressionTest
<dependency>
<groupId>io.github.minliuhua</groupId>
<artifactId>warm-flow-plugin-spel</artifactId>
</dependency>
@Component("user")
public class User {
public boolean eval() {
return true;
}
}
@Slf4j
@SpringBootTest
public class ExpressionTest extends FlowBaseTest {
/**
* @@spel@@|#{@user.eval()}
*/
@Test
public void testSpel() {
Map<String, Object> variable = new HashMap<>();
variable.put("aa", "yes");
log.info("spel结果:{}", ExpressionUtil.eval("@@spel@@|#{@user.eval()}", null));
}
}