Thymeleaf学习记录(4)--$/*/#/@语法
表达式符号
Thymeleaf对于变量的操作主要有$\*\#三种方式:
- 变量表达式: ${...},是获取容器上下文变量的值.
- 选择变量表达式: *{...},获取指定的对象中的变量值。如果是单独的对象,则等价于${}。
- 消息表达式: #{...}表达式与th:text一起使用,加载数据源中的消息,用于国际化
- 链接网址表达式: @{...},获取网址链接
1.${...}获取变量
传递单一变量
后台代码:
前台代码:
运行结果:
传递对象
后台新建User类:
更改Controller
前台取数据:
页面运行结果:
2.*{...}获取变量
变量表达式不仅可以用${...}
表达式编写,还可以用于表达式*{...}
。选择表达式所选择的对象是当前环境内的变量值,如果对于单一变量(非对象),则${…}和*{…}完全等价。
3.#{...}表达式与th:text一起使用,加载数据源中的消息,用于国际化
解析程序会在/WEB-INF/templates/home.html在同一文件夹中找到.properties文件中的消息,并使用与模板相同的名称,如:
· /WEB-INF/templates/home_en.properties 用于英文文本。
· /WEB-INF/templates/home_es.properties 西班牙语文本。
· /WEB-INF/templates/home_pt_BR.properties 用于葡萄牙语(巴西)语言文本。
· /WEB-INF/templates/home.properties 对于默认文本(如果区域设置不匹配)。
4.@{...}链接的访问
链接分为绝对路径和相对路径
· 绝对的URL,比如 http://www.thymeleaf.org
· 相对URL,可以是:
o 页面相对,像 user/login.html
o 上下文相关,如/itemdetails?id=3(服务器中的上下文名称将自动添加)
o 与服务器相关,~/billing/processInvoice(允许在同一服务器中调用另一个上下文(=应用程序)中的URL)。
o 协议相对URL,如 //code.jquery.com/jquery-2.0.3.min.js
绝对路径示例:
相对路径示例:
templates文件夹下新建page2
后台更改Controller:
运行:
Thymeleaf学习记录(4)--$/*/#/@语法的更多相关文章
- Thymeleaf学习记录(3)--语法
语法: 标准表达式语法 简单表达: 变量表达式: ${...} 选择变量表达式: *{...} 消息表达式: #{...} 链接网址表达式: @{...} 字面 文本文字:'one text','An ...
- Thymeleaf学习记录(6)--迭代及条件语法
迭代: 条件选择: IF-THEN: (if) ? (then) IF-THEN-ELSE: (if) ? (then) : (else) 默认: (value) ?: (defaultvalue) ...
- Thymeleaf学习记录(8)--表达式基本对象
基础对象 #ctx:上下文对象 /* * ====================================================================== * See ja ...
- Thymeleaf学习记录(1)--启动模板及建立Demo
Thymeleaf是什么? Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎.相比于JSP,Thymeleaf更简洁,渲染性能更好,维护性更好,它可以XML/XHTML/HTM ...
- Thymeleaf学习记录(7)--页面引入/片段引入
1.为页面添加footer: Templates文件夹下新建HTML文件: <!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xh ...
- Thymeleaf学习记录(5)--运算及表单
Thymeleaf文本及预算: 字面 文本文字:'one text','Another one!',... 号码文字:0,34,3.0,12.3,... 布尔文字:true,false 空字面: nu ...
- Thymeleaf学习记录(2)--自动编译设置
了方便每次修改HTML文件都能实时刷新,做一下更改. 在application.properties文件加入以下命令: #thymeleaf start spring.thymeleaf.mode=H ...
- SQL入门经典(第四版)学习记录——SQL语法(二)
一.创建表 create table 表里包含什么类型的数据 表的名称是什么 主键 列的名称是什么 每一列的数据类型是什么 每一列的长度是多少 表里哪些列可以是空的 语法: create table ...
- Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客
==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...
随机推荐
- 【vue】——CDN或全局引入CSS、JS。
在入口文件index.html中添加 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- [CISCO] 简单配置 Telnet 服务
[CISCO] 简单配置 Telnet 服务 一.Introduction Telnet 协议是一种应用层协议,使用于网际网路及区域网中,使用虚拟终端机的形式,提供双向.以文字字串为主的互动功能.属于 ...
- Dota2APP--第二天
一.今天的任务 1)自定义标签栏控制器 2)自定义导航栏控制器 3)在新特性界面播放音频 1.第一个任务:自定义标签栏控制器 原因:默认的TabbarViewController不能满足项目的需求. ...
- c#开发Android初学(一)
我也是最近开始学习用c#开发android,最近找在好心网友那里下到了四个android开发安卓的视频(传智的)有想要的朋友可以留下邮箱 废话不多收,分享我最近一个星期的成果. 先看最主要的一个获取数 ...
- Python全栈开发:list、元祖常用方法操作
列表[] 索引与切片#例题#li = ['yijiajun',[1,3,5,7,9],'zhangliang','zhaoritian','sunwukong'] # #例子1 找出列表中索引为0的元 ...
- P1525 关押罪犯 题解
#include<iostream> #include<cstdio> #include<algorithm> using namespace std; //带边权 ...
- 全面解析C#中参数传递
一.引言 对于一些初学者(包括工作几年的人在内)来说,有时候对于方法之间的参数传递的问题感觉比较困惑的,因为之前在面试的过程也经常遇到参数传递的基础面试题,这样的面试题主要考察的开发人员基础是否扎实, ...
- DB2 Check Pending Script
转载 http://www.zinox.com/archives/144 Thanks to Max Petrenko of DB2 Toronto Lab for sharing a very us ...
- C#集合通论
前言 写这篇文章的最初动力是来自于一次笔试经历.有一道笔试题大概是这样的:程序使用一个txt文件来存储操作记录.存储记录是多行字符串,每一行代表一次操作记录,格式如下:用户名+操作事项名称+操作时间. ...
- jQuery对象扩展方法(Extend)深度解析
1.这几天在写自己的Js工具类库,所以在编写对象扩展方法,参考了jQuery的对象扩展方法,在编写该方法前,需要掌握js深拷贝和浅拷贝的相关知识,下面是jQuery3.2.1版本对象扩展方法的源码: ...