博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Thymeleaf模板引擎
阅读量:3970 次
发布时间:2019-05-24

本文共 5520 字,大约阅读时间需要 18 分钟。

文章目录

一、Spring Boot整合Thymeleaf

1、创建项目

在这里插入图片描述

  • 添加项目依赖
    在这里插入图片描述

2、在全局配置文件里配置Thymeleaf属性

在这里插入图片描述

3、创建登录控制器

在这里插入图片描述

4、创建模板文件,获取控制器传来的动态数据

在这里插入图片描述

  • 运行login.html
    在这里插入图片描述

5、启动项目

  • 访问http://localhost:8080/toLoginPage

在这里插入图片描述

课堂练习

(1)创建用户实体类

在这里插入图片描述

(2)

二、Spring Boot集成Bootstrap

1、集成Bootstrap

(1)引用在线文档的方式

在这里插入图片描述

(2)下载Bootstrap并引用的方式

  • 链接:https://pan.baidu.com/s/1vEmjeGTdM9jERbXPU4bmAw 提取码:qgo9
  • 解压包之后复制到static包中

在这里插入图片描述

2、编写登录页面

(1)集成Bootstrap

在这里插入图片描述

(2)编写登录界面

在这里插入图片描述

    
用户登录
今年 -
明年

用户登录

(3)运行项目,查看结果

  • 输入:http://localhost:8080/toLoginPage

在这里插入图片描述

3、用户名和密码非空校验

4、控制器编写登录验证方法

在这里插入图片描述

5、编写登录成功与失败的模板页面

(1)登录成功页面

在这里插入图片描述

    
登录成功

(2)登录失败页面

在这里插入图片描述

    
登录失败

(3)运行程序测试

在这里插入图片描述

  • 登录成功界面

在这里插入图片描述

  • 登录失败界面

在这里插入图片描述

三、Thymeleaf访问模型里的数据

1、访问model里的数据

(1)创建个人实体类

在这里插入图片描述

package net.zjs.lesson09.bean;/** * 功能:个人实体类 * 作者:zjs * 日期:2021-05-24 */public class Person {    private int id;    private String name;    private String gender;    private int age;    private String telephone;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getGender() {        return gender;    }    public void setGender(String gender) {        this.gender = gender;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getTelephone() {        return telephone;    }    public void setTelephone(String telephone) {        this.telephone = telephone;    }    @Override    public String toString() {        return "Person{" +                "id=" + id +                ", name='" + name + '\'' +                ", gender='" + gender + '\'' +                ", age=" + age +                ", telephone='" + telephone + '\'' +                '}';    }}

(2)添加获取个人信息方法

在这里插入图片描述

(3)创建显示个人信息的页面

在这里插入图片描述

在这里插入图片描述

(4)启动服务器

  • 访问:http://localhost:8080/getPerson

在这里插入图片描述

  • 无法实现效果,更改代码

在这里插入图片描述

  • 查看效果

在这里插入图片描述

  • card替换了panel

在这里插入图片描述

  • 查看效果

在这里插入图片描述

(5)创建商品实体类

在这里插入图片描述

package net.zjs.lesson09.bean;/** * 功能:商品实体类 * 作者:zjs * 日期:2021-05-24 */public class Product {    private int id;    private String name;    private Double price;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Double getPrice() {        return price;    }    public void setPrice(Double price) {        this.price = price;    }    @Override    public String toString() {        return "Product{" +                "id=" + id +                ", name='" + name + '\'' +                ", price=" + price +                '}';    }}

(6)创建商品控制器

在这里插入图片描述

package net.zjs.lesson09.controller;import net.zjs.lesson09.bean.Product;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import java.util.ArrayList;import java.util.List;/** * 功能:商品控制器 * 作者:zjs * 日期:2021-05-24 */@Controllerpublic class ProductController {    @GetMapping("/getProducts")    public String getProducts(Model model){        List
products=new ArrayList<>(); Product product=new Product(); product.setId(1); product.setName("海尔"); product.setPrice(2000); products.add(product); product=new Product(); product.setId(2); product.setName("电脑"); product.setPrice(5000); products.add(product); product=new Product(); product.setId(3); product.setName("手机"); product.setPrice(3000); products.add(product); //将商品列表写入模型 model.addAttribute("products",products); //返回逻辑视图名 return "products"; }}

(7)编写显示商品信息的页面

在这里插入图片描述

    
商品信息

显示商品信息

  • 编号:1
    名称:洗衣机
    单价:1000

(8)启动服务器

在这里插入图片描述

  • 添加空里表

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、课后作业

  • 任务:利用MyBatis、JPA或Redis技术,从数据库读取用户信息进行验证用户是否登录成功

1、增加用户表t_user

在这里插入图片描述

2、创建用户实体类

在这里插入图片描述

package net.zjs.lesson09.bean;/** * 功能:用户实体类 * 作者:zjs * 日期:2021-05-19 */public class User {    private int id;    private String name;    private int age;    private String address;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }    @Override    public String toString() {        return "User{" +                "id=" + id +                ", name='" + name + '\'' +                ", age=" + age +                ", address='" + address + '\'' +                '}';    }}

3、创建数据访问接口

4、修改控制器login()方法

转载地址:http://lntki.baihongyu.com/

你可能感兴趣的文章
计算机发展中的两大“杀手”
查看>>
MDK5(Keil for ARM) 工程建立时遇到的问题集锦
查看>>
Ubuntu下安装GTK+及Glade开发C应用界面
查看>>
assertion 'GTK_IS_WIDGET (widget)' failed的解决办法
查看>>
Ubuntu登录管理员账户时,输入密码后一直在登录界面循环
查看>>
Linux下的定时器以及POSIX定时器:timer_settime()
查看>>
POSIX定时器timer_create()以及线程中的gettid() 和pthread_self()
查看>>
c /c++中日期和时间的获取:strftime()函数
查看>>
C语言 回调函数
查看>>
c语言swap(a,b)值交换的4种实现方法
查看>>
C++小知识点
查看>>
【转载】zedboard中PL_GPIO控制(8个sw、8个leds)
查看>>
zedboard烧写程序到FLASH,用于QSPI Flash启动
查看>>
软件工程师,你必须知道的20个常识
查看>>
常用STL算法2_查找
查看>>
常用STL算法3_排序
查看>>
常用STL算法4_拷贝和替换
查看>>
STL综合案例
查看>>
O(logn)时间复杂度求Fibonacci数列
查看>>
【转】腾讯十年运维老兵:运维团队的五个“杀手锏”
查看>>