thymeleaf fragments可选参数
spring boot的首荐页面模板引擎thymeleaf,其母版页的思想就是缝百纳衣,将可公用的东东做成一个个片段(fragment),然后在每个页面上加以引用,以达到复用的效果。
某页面
<body>
<th:block th:include="_submenu::submenu(curicon=hi.png,marginleft=65)" />
……
</body>
公用片段(_submenu.html)
<block th:fragment="submenu(curicon)">
<div><div><img th:src="${curicon}" /></div><div th:style="'margin-left:' + ${marginleft ?: '37'} + '%;'"><span>殷勤昨夜三更雨,又得浮生一日凉</span></div>
</div>
</block>
细看这两段代码,可知thymeleaf调用片段的格式为:
th:include="片段页面路径::片段名(参数1,……)"
在实际编程中,有时候我们可能会用到可选参数。就是这个参数,我既可以传递,也可以不传递。那么在thymeleaf中,支不支持可选参数?如何实现可选参数?
支持。实现方式类似我们main方法里的void main(string[] args)
这种方式。参数不一定需要声明,个数也不限制,只要在调用的时候传过来就行,函数体中直接使用。看看上面的例子就可以发现:
调用的时候,传了一个marginleft=65
,而在片段中根本没有声明这个marginleft,但直接使用了
<div th:style="'margin-left:' + ${marginleft ?: '37'} + '%;'">
当然因为是可选参数,使用的时候做了防御,先判断有没有,有就使用,没有就给个默认值37。
thymeleaf fragments可选参数相关推荐
- 如何定义带有可选参数的函数python_Python如何定义有可选参数的元类
问题 你想定义一个元类,允许类定义时提供可选参数,这样可以控制或配置类型的创建过程. 解决方案 在定义类的时候,Python允许我们使用 ``metaclass``关键字参数来指定特定的元类. 例如使 ...
- php laravel用的多不,php-Laravel多个可选参数不起作用
在使用带有2个可选参数的路线时, Route::get('/abc-{abc_id?}/xyz-{xyz_id?}', function($abc_id=0, $xyz_id=0) { return ...
- [读书笔记]C#学习笔记七: C#4.0中微小改动-可选参数,泛型的可变性
前言 下面就开始总结C#4.0的一些变化了, 也是这本书中最后的一点内容了, 这一部分终于要更新完了. 同时感觉再来读第二遍也有不一样的收获. 今天很嗨的是武汉下雪了,明天周六,一切都是这么美好.哈哈 ...
- 《CLR Via C# 第3版》笔记之(十) - 可选参数和可变数量参数
C#中也可以像动态语言那样,定义可选参数和可变数量参数.通过使用可选参数和可变数量参数可以构建更加灵活的函数. 主要内容: 可选参数 可变数量参数 1. 可选参数 可选参数即调用函数时,传递参数的个数 ...
- C#可选参数、命名参数、参数数组
学习了C#4.0的新特性:可选参数.命名参数.参数数组. 1.可选参数,是指给方法的特定参数指定默认值,在调用方法时可以省略掉这些参数. 但要注意: (1)可选参数不能为参数列表的第1个参数,必须位于 ...
- c# 可选参数与命名实参
c#4.0: 链接:C# 可选参数 命名参数 转载于:https://www.cnblogs.com/lbonet/p/7249601.html
- php6 配置,thinkphp6路由可选参数配置
thinkphp6 路由可选参数配置后#0 [0]InvalidArgumentException in Container.php line 455 方法参数错误:id 路由配置参考手册如下 可选变 ...
- 【Flutter】Dart 面向对象 ( 类定义 | 类的继承 | 私有变量 | 可选参数 | 默认参数 | 初始化列表 )
文章目录 一. Dart 面向对象 二. 类定义 三. 类的继承 四. 私有变量 五. 可选参数与默认参数 六. 初始化列表 七. 完整代码示例 八. 相关资源 一. Dart 面向对象 OOP 基本 ...
- 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数
[索引页] [源码下载] 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数, 动态绑定(dynamic), 泛型协变和逆变, CountdownEvent, Barri ...
最新文章
- mysql中文无法显示
- 如何去除 IDEA 中 xml 文件的屎黄色背景
- 【学术相关】为什么很多国内学者的AI的论文复现不了?
- linux tomcat8 启动慢,Linux系统下Tomcat8启动速度很慢的解决方法
- 深度学习《再探AE和VAE的区别》
- Pure-Ftp:基于虚拟账号的FTP服务器
- python粘性拓展_Python拓展
- python学习day33 hmac模块 socketserver模块
- 4200有linux版本么,如何检查Linux版本
- 基于asp.net的大学生助学贷款管理系统
- PXE启动livecd
- IDEA打包jar-解决错误: 找不到或无法加载主类 main
- python电影名称词云_Python爬取最近上映的电影评论并生成词云——误杀
- 淘特,阿里在下沉市场的一把好刀
- matlab randn state 2,matlab中randn(‘state’)
- Error launching IDEA
- 深度、广度优先遍历算法python
- 长安链---从零到一部署Chainmaker-2.0.0
- [转载记录]系统的UIM卡介绍
- 使用MDB查看变量的值(2)