thymeleaf定义变量等

网友投稿 1161 2022-12-02

thymeleaf定义变量等

thymeleaf烂透了。

以前说过,thymeleaf虽然是spring boot推荐的模板,但我认为,它跟asp-的模板引擎razor比起来,处于幼儿园的水平。其对母板页的理解是有偏差的。razor的模板,就是真的母板,所有公用东西都在母板上,应用页面套用这个母板,只须再定义自己的个性化内容即可。而thymeleaf的所谓模板,不是母板,而是片段集合,公共东西,做成一个个片段,由应用页按需使用,缝百衲衣似的。 见拙作​​​《百香菜》​​

这么说吧,razor就像是一个完整的框架,我们使用这个框架,好多东西都自动就具备了;而thymeleaf则是一个公用类库,开发人员按需调用。完全不同的思想。

使用起来,也是很不方便。各种奇形怪状的标记和语法。我们要记住的东西很多。开发生涯已经如此艰难,你可苦再补上一刀。你看人家razor,就是一个​​@{ }​​,全部搞定了。

下面是一些“研究成果”:

1、在thymeleaf中定义变量

所有人都知道,变量可以从后端的控制器传过来。问题是,为什么这个变量一定要在控制器里定义再传过来?太夸张了吧。这个只跟视图有关的东西,应该就在视图(页面)上自己定义啊。

thymeleaf怎么定义呢?这样子定义:

th:with="变量=值"

看个真实的应用例子

​​th:with​​,记住了吗?

2、使用所谓内置对象 thymeleaf有一些所谓内置对象,dates是其中一种。好像只是用来控制格式。其他还有什么list之类,不知道干什么的。

输出一个日期:

​​#dates​​,记住了吗?要用“#”号喔。

3、使用静态方法或变量 比如说,你想在thymeleaf里用一个枚举:

一定要用T()将它包含起来。否则会报错。ENormal是枚举,在后台定义如下:

package com.monkey.zjfwpt.modules.fzjz.entity;public enum ENormal { TF (1),GLOBAL(2),JX(3),CLOUD(4),DOLPHIN(5),BOAT(6); private final int value; private ENormal(int value) { this.value = value; } public ENormal valueOf(int value) { switch (value) { case 1: return ENormal.TF; case 2: return ENormal.GLOBAL; case 3: return ENormal.JX; case 4: return ENormal.CLOUD; case 5: return ENormal.DOLPHIN; case 6: return ENormal.BOAT; default: return null; } } public int value() { return this.value; }}

java的枚举定义也是没谁了)

​​T​​,记住了吗?

以上都是一些无用的术。所谓的工作经验,绝大部分都是类似这种垃圾。因为现在是用thymeleaf,以后可能用别的leaf,又有不同的语法和规则。完全没有意义。但我们偏偏却要去了解这些。

thymeleaf,百里香叶子之意。thymeleaf烂透了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:子网掩码2
下一篇:系统动力学软件vensim学习之库存与订货率
相关文章

 发表评论

暂时没有评论,来抢沙发吧~