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协议. 编译器核心的网址为 ...
随机推荐
- Django使用Mysql已存在数据表的方法
在mysql数据库中已经存在有数据的表,自己又不想删除,下面方法可以同步django中创建的表 1.最好将自己建的表名改为前缀和django自动创建表名前缀相同,不改也可以,但是后期表太多容易混乱 2 ...
- Java数据类型(2)------自动封装拆箱
目的: 自动装箱和拆箱从Java 1.5开始引入,目的是将原始类型值转自动地转换成对应的对象,以使用对象的API和引用类型操作.自动装箱与拆箱的机制可以让我们在Java的变量赋值或者是方法调用等情况下 ...
- javascript之DOM(二Document对象)
javascript通过Document类型来表示文档.在浏览器中document是HTMLDocument对象(继承自Document)的一个实例,表示整个html页面.而且在浏览器中documen ...
- 17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列
原文:https://mp.weixin.qq.com/s/lpsQ3dEZHma9H0V_mcxuTw 一.资料文档 二.开发语言 三.支持的协议 四.消息存储 五.消息事务 六.负载均衡 七.集群 ...
- HDU1754 && HDU1166 线段树模板题
HDU1754 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 题目分析:对于给出的一个很长的区间,对其进行单点更新值和区间求最大值的操作,由于 ...
- 【mybatis】清空数据库表数据
<update id="truncateTable"> truncate table ${tableName} </update> <update i ...
- Scrapy笔记09- 部署
Scrapy笔记09- 部署 本篇主要介绍两种部署爬虫的方案.如果仅仅在开发调试的时候在本地部署跑起来是很容易的,不过要是生产环境,爬虫任务量大,并且持续时间长,那么还是建议使用专业的部署方法.主要是 ...
- DB2数据库
必需步骤: 您已经启用了 DB2 扩展 Windows 安全性.您必须将运行 DB2 本地应用程序或工具的 DB2 用户添加至 DB2ADMNS 或DB2USER 组 可以使用端口号 "50 ...
- Layui 表单赋值 编辑页面赋初值
原文:https://blog.csdn.net/yulongxue/article/details/97924591 //编辑 if (id > 0) { $.post("/Hand ...
- Python实现电子词典(图形界面)
Python实现电子词典(图形界面) 终端电子词典:https://www.cnblogs.com/noonjuan/p/11341375.html 文件一览: .├── client.py├── d ...