php做网站需要啥技术,网站每年空间域名费用及维护费,wordpress点击显示微信二维码,wordpress标签文章数量七、视图技术Thymeleaf
Thymeleaf是一个表现层的模板引擎#xff0c;一般被使用在Web环境中#xff0c;它可以处理HTML、XML、JS等文档#xff0c;简单来说#xff0c;它可以将JSP作为Java Web应用的表现层#xff0c;有能力展示与处理数据。这样#xff0c;同一个模板文…七、视图技术Thymeleaf
Thymeleaf是一个表现层的模板引擎一般被使用在Web环境中它可以处理HTML、XML、JS等文档简单来说它可以将JSP作为Java Web应用的表现层有能力展示与处理数据。这样同一个模板文件既可以使用浏览器直接打开也可以放到服务器中用来显示数据并且样式之间基本上不会存在差异因此界面设计人员与程序设计人员可以使用同一个模板文件来查看静态与动态数据的效果。Thymeleaf作为视图展示模型数据用于和用户交互操作。JSP的代替技术。比较适合做管理系统是一种易于学习、掌握的。
7.1表达式
表达式用于在页面展示数据的有多种表达式语法最常用的是变量表达式、链接表达式。
表达式作用例子${…}变量表达式可用于获取后台传过来的值中国{…}链接网址表达式链接表达式传递参数
1.在static/main.html中创建首页
静态资源默认放在static目录SpringBoot按约定可直接访问。main.html就是普通的HTML文件。
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
bodydiv stylemargin-left: 200pxh3学习Thymeleaf/h3a hrefexpression1.使用表达式/aa hreflink2.链接表达式/a/div
/body
/html2.创建Controller提供数据给页面
Controller
public class ThymeleafController {//表达式方法的返回值表示视图一个xxx.html页面GetMapping(/expression)public String exp(Model model) {//model中的数据最后放到request作用域的。model.addAttribute(name, 张三);model.addAttribute(address, 河南);return exp;}//链接表达式GetMapping(/link)public String link(Integer id, String name, Model model) {model.addAttribute(id, id);model.addAttribute(myname, name);return link;}
}3.templates/目录下创建Thymeleaf的文件
exp.html
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleTitle/title
/head
body
h3表达式/h3
div th:text${name}/div
div th:text${address}/div
br/br/br/
h3链接表达式/h3
a th:href{http://www.baidu.com}链接到百度/abr/
a th:href{/link}链接到link地址无参数/abr/
a th:href{/link(id111,namelisi)}链接表达式传递参数/a
/body
/htmllink.html
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleTitle/title
/head
body
h3表达式/h3
div th:text${id}/div
div th:text${myname}/div
/body
/html7.2if-for
Thymeleaf同样支持if、for语句的使用。
表达式作用例子th:if“boolean 表达式”th:if当条件满足时显示代码片段。条件常用boolean表示true满足反之不满足。 10大于2 th:each处理循环类似jstl中的c:foreach
1.main.html
a hrefif-for3.if和for/a2.创建UserVO
Data
NoArgsConstructor
AllArgsConstructor
public class UserVO {private Integer id;private String name;private Integer age;
}3.创建控制器方法
//if,for
GetMapping(/if-for)
public String ifFor(Model model) {model.addAttribute(login, true);UserVO user new UserVO();user.setId(10);user.setName(张三);user.setAge(20);model.addAttribute(user, user);//创建List集合UserVO user1 new UserVO(11, 李四, 21);UserVO user2 new UserVO(12, 王五, 22);ArrayListUserVO users new ArrayList();users.add(user1);users.add(user2);model.addAttribute(users, users);return base;
}4.创建base.html模板页面
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleTitle/title
/head
body
h3if/h3
div th:if10210大于2/div
div th:if${login}用户已经登录/div
div th:if${user.age18}用户成年了/div
br/h3for/h3
table border1pxtrthid/ththname/ththage/th/trtr th:eachu:${users}td th:text${u.id}/tdtd th:text${u.name}/tdtd th:text${u.age}/td/tr
/table
/body
/html5.浏览器访问