enjoy 比较运算: > >= < <= 支持 gt lt 吗?

<td class="col-md-2 col-sm-2 col-xs-2" style="text-align: center;">

<input id="inputSteel_#(i)" class="inputSteel" name="inputSteelId"  value="#(i < stockLists.size()? stockLists[0].bianhao : '')" #(i < stockLists.size()? '测试' : '测试2')>

</td>

#(i < stockLists.size()? '测试' : '测试2')

这个能支持:gt、lt  吗?


评论区

chatcoco

2018-06-11 09:35

lyh061619

2018-06-11 10:00

首先enjoy 模板引擎运算符是直接与java运算符一并打通,为什么这么设计?从
三降底维度看分析问题:一、降低视觉识别度,二、降低模板的学习成本,三、降低模板语法混乱,提高开发效率,同时这也是enjoy模板引擎诞生初衷,从模板发展至今,单从模板引擎使用角度去考量,模板引擎的发展,已经没什么太多的发展空间,所以你上文提到的"这个能支持:gt、lt 吗?"这个上问题,已经不用直接的去回复,多去使用,多去体验、多去感受,自然就会发展其中的自然美。

lyh061619

2018-06-11 10:16

因为在enjoy中被#()包裹的语法一看自然就是enjoy自身的语法,如果引用gt、lt,这个重合度会更高、辨识度降低,最后的演变将是一片混乱,但话说到这里,你也可能会答上,难道用:”> >= < <=“就不会有重合么?我的回复必然是有,当在无法规避的重合情景,在设计引擎时,我们尽可能的去做多个维度权衡后,尽可能的选择最优的方案。

JFinal

2018-06-11 15:03

jfinal enjoy 中的大于、小于号只可能出现在表达式中,也就是说一定会被小括号所包裹。 因此,也就没有了使用 gt lt 的必要

freemarker 这类需要 gt lt 的支持,是因为他的表达式不一定在小手号内,所以会与 html 中的标签产生冲突,造成解析错误或者排版问题

无论是什么情况,gt、lt 这个设计都不是个好设计

热门反馈

扫码入社