enjoy模板引擎不支持二进制吗?

image.png

我看了下源码中好像没判断二进制的情况

评论区

JFinal

2022-09-07 18:31

不支持位运算、二进制,文档中有过说明:
https://jfinal.com/doc/6-3

15、从java中去除的运算符
针对模板引擎的应用场景,去除了位运算符,避免开发者在模板引擎中表述过于复杂,保持模板引擎的应用初衷,同时也可以提升性能。

与位运算、二进制有关的都不支持,事实证明,你是第一个提起这件事的

如果你要支持,可以通过 sharedObject、sharedMethod 扩展支持,打通到后端的 java , 让 java 支持就行了

例如,以下通过sharedMethod 扩展实现与运算
#( bitAnd( 123, 456 ) )

java 代码这么写:
public int bitAnd( int a, int b ) {
return a & b;
}

最后配置一下:
engine.addSharedMethod(...);

Sohnny

2022-09-08 14:52

@JFinal 好的,感谢。 我的目前遇到的项目刚好打算给用户提供一个可以用Java语言配置的一些表达式,刚好想到enjoy可以直接支持java语法,用户可能会配置一些二进制的固定参数,那也只能给用户说,只有java二进制的语法不支持了。 调方法也可以就是感觉有点强迫症。我建议可以支持二进制,只是默认关闭,有需要的用户可以自行选择开启。总之,非常感谢您的回复!

热门反馈

扫码入社