spring-boot - th:field="${something}" 和 th:field="*{something}" 有什么区别?
问题描述
我是 thymeleaf 的新手,我不明白 和 之间的th:field="${something}"
区别th:field="*{something}"
。什么时候用*,什么时候用$?
解决方案
引用百里香文档
变量表达式不仅可以写成 ${...} 表达式,还可以写成 *{...} 表达式。
但是有一个重要的区别:星号语法评估选定对象上的表达式,而不是整个上下文变量映射。这就是:只要没有选中的对象,美元和星号的语法就完全一样。
从此处的4.3 选择表达式(星号语法)部分开始。
从技术上讲,不同之处在于,如果您选择了这样的对象,th:object="${session.user}
那么您可以使用 * 作为用户对象的属性,就像这样th:text="*{lastName}"
如果您尚未选择对象,它们是相同的。
推荐阅读
- javascript - 为什么 onClick 处理程序不更改图标标签的类名?
- html - 角按钮屏幕
- data-structures - 这个二叉搜索树不平衡,对吗?
- flutter - Flutter:如何以动态长度居中文本?
- wordpress - wordpress 中的 get_header_image() 和 header_image() 有什么区别
- flutter - 如何从数据表中删除空白空间?
- r - 将字符串拆分为单词并分配给新列
- windows - 如何在 Cygwin 中回显 Jenkins 工作区
- r - 尝试从延迟加载的网站读取 html 时出错
- python - AWS Elastic Beanstalk Python (3.8) 平台:除了使用 `requirements.txt` 之外,为带有 `--no-deps` 标志的 Python 包运行额外的 pip 命令