thymeleaf是用于编写html模版的编程语言(工具语言)
一、编程语言
用于编写html模版的编程语言。
thymeleaf一种命令式和声名式混合的寄生语言。
html与thymeleaf的结合是dsl与命令式语言的结合。
html与thymeleaf的结合是一种html的中间产品。
这种语言的输入是model数据,输出是结合上下文的html可用元素。
作为html元素的生成器。
根据model数据来生成描述html要素的属性;或者根据model提供集合元素的上下文,进而生成集合要素。
表达model数据
根据model数据来描述html元素属性或生成html数据。
<tr th:each="user : ${users}">
<td th:text="${user['name']}"></td>
<td th:text="${user['email']}"></td>
<td th:text="${user['phone']}"></td>
</tr>
<li th:class="${userPage == i} ? 'page-item active' : 'page-item'"
th:each="i:${#numbers.sequence(1,userTotalPage)}">
<a class="page-link" th:text="${i}" th:onclick="getUserList([[${i}]])"></a>
</li>
二、相对于js:
thymeleaf 用于全部或局部生成html。
js用于在生成后的维护。
三、template、model与页面请求
java的controller提供html的数据和需要渲染的html的名称。
全局请求可以通过js发起、也可以通过浏览器发起;
局部页面请求通过js发起,返回局部页面的html。
每一次请求都是服务端重新配置模版、数据、生成html并返回html的过程。
返回的是html,而不是数据。
function getUserList(pageNum){
console.log($("#user_page"))
axios.get('/sms/home/users',{
params:{
"page":pageNum,
"pageSize":"3"
}
})
.then(function(response){
console.log(response.data);
$("#user_list").html(response.data);
})
.catch(function(err){
console.log(err);
});
}
@RequestMapping(value = "/home/users")
public String homePageUsers(Model model,
@RequestParam("page") int page,
@RequestParam("pageSize") int pageSize) throws Exception {
PageInfo<?> users = userService.getRecordsByPage(page, pageSize);
model.addAttribute("users", users.getList());
return "home::user_list";
}
thymeleaf是用于编写html模版的编程语言(工具语言)的更多相关文章
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情7. 安装 PHP PHP 是用于 web 基础服务的服务器端脚本语言。它也经常被用作通用编程语言。在最小化安装的 CentOS 中安
CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...
- Mol Cell Proteomics. |马臻| psims-一个用于编写HUPO-PSI标准下的mzML和mzIdentML的python库
大家好,本周分享的是发表在MCP(MOLECULAR&CRLLULAR PROTEOMICS)上的一篇关于质谱数据处理和识别的文章,题目是psims - A Declarative Write ...
- 用于编写下一代JavaScript的编译器。
下载 用于编写下一代JavaScript的编译器. 支持巴别塔 Babel(发音为babble)是一个由社区驱动的项目,被许多公司和项目使用,由一群志愿者维护.如果你愿意帮助支持这个项目的未来,请考虑 ...
- Selenium也是一个用于Web应用程序测试的工具
Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla Suite ...
- ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly
0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...
- Python编写类似nmap的扫描工具
文主要是利用scapy包编写了一个简易扫描工具,支持ARP.ICMP.TCP.UDP发现扫描,支持TCP SYN.UDP端口扫描,如下: usage: python scan.py <-p pi ...
- 4种用于构建嵌入式linux系统的工具_转
转自:4种用于构建嵌入式linux系统的工具 Linux 被部署到比 Linus Torvalds 在他的宿舍里开发时所预期的更广泛的设备.令人震惊的支持了各种芯片,使得Linux 可以应用于大大小小 ...
- 用python编写的定向arp欺骗工具
刚学习了scapy模块的一些用法,非常强大,为了练手,利用此模块编写了一个arp欺骗工具,其核心是构造arp欺骗包.加了一个-a参数用于进行全网欺骗,先暂不实现.代码如下: #--*--coding= ...
- 中文编程语言Z语言开源正式开源!!!
(Z语言基于.NET环境,源码中有很多高技术的代码,让更多的人知道对大家有会有很好的帮助,请管理员一点要批准放在首页) 本人实现的中文编程语言Z语言现在正式开源,采用LGPL协议. 编译器核心的网址为 ...
随机推荐
- 微信小程序开发--flex详细解读
一.结构:flex布局 是由一个大的容器加上多个子元素组成. <view class="container"> <view </view> <v ...
- MATLAB之心形图绘制
一.静态心形图绘制 (1)效果展示 (2)静态心形原始代码 clc; clear all; ; % 均布三位坐标 x=-:; y=-:; z=-:; [x,y,z]=meshgrid(x,y,z); ...
- Codeforces H. Kilani and the Game(多源BFS)
题目描述: Kilani and the Game time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- hbase运行原理
HBase特点 1)海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据.这与Hbase的极易扩展性息息相关.正式因为Hbase良好 ...
- Kinect for Windows V2开发教程
教程 https://blog.csdn.net/openbug/article/details/80921437 Windows版Kinect SDK https://docs.microsoft. ...
- CF264D - Colorful Stones 题解
题面 官方题解 模拟赛题解 题解概述: 定义符号A~B表示序列A是序列B的子序列,A!~B反之. 设操作序列为I,则有A~I,B!~I,C~I,D!~I. 可得出条件①B!~C且D!~A,所以我们只要 ...
- Android apps for “armeabi-v7a” and “x86” architecture: SoC vs. Processor vs. ABI
INSTRUCTION SET: Processors are made of semiconductor dies, usually electronic-grade mono-crystallin ...
- Spring Security教程之Jsp标签(八)
目录 1.1 authorize 1.2 authentication 1.3 accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...
- Log4j Threshold指定输出等级&&Append指定是否追加内容
Threshold指定输出等级 有时候我们需要把一些报错ERROR日志单独存到指定文件 ,这时候,Threshold属性就派上用场了: Threshold属性可以指定日志level Log4j根据日志 ...
- IBM X3650 m4 面板指示灯