首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
enjoy模板引擎不支持二进制吗?
Sohnny
2022-09-07 15:01
我看了下源码中好像没判断二进制的情况
项目:
JFinal
1
评论区
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二进制的语法不支持了。 调方法也可以就是感觉有点强迫症。我建议可以支持二进制,只是默认关闭,有需要的用户可以自行选择开启。总之,非常感谢您的回复!
回复
发送
我要反馈
热门反馈
扫码入社
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(...);