• springboot2.7.15+thymeleaf


    如下使用了thymeleaf的基础应用:th:text, th:each, th:if, th:unless, th:value等标签的使用

    页面效果:未登录状态
    在这里插入图片描述
    登录状态:
    在这里插入图片描述

    如下的所有html放在templates 下,
    配置文件不需要做任何配置
    只需要在pom.xml中增加

            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-thymeleafartifactId>
            dependency>
            <dependency>
                <groupId>org.projectlombokgroupId>
                <artifactId>lombokartifactId>
            dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    request的使用:

    controller类:

     @RequestMapping("index2")
        public String xx2(Model model){
            List<Dept> list = new ArrayList<>();
            list.add(new Dept(1,"heheh",true,new Date()));
            list.add(new Dept(2,"heheh2",false,new Date()));
            list.add(new Dept(3,"hehehd",true,new Date()));
            model.addAttribute("key","测试");
            model.addAttribute("keylist",list);
            model.addAttribute("dept",new Dept(11,"呵呵呵",true,new Date()));
            return "index";
        }
         @RequestMapping("add")
        public String add(Dept dept){
            System.out.println(dept);
            return "index";
        }
    
        @RequestMapping("del")
        public String add1(int uid,String uname){
            System.out.println(uid+"..."+uname);
            return "index";
        }
    
        @RequestMapping("del1/{uid}")
        public String add11(@PathVariable("uid") int uid){
            System.out.println("del1...."+uid);
            return "redirect:../index2";
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    index.html

    <p th:text="${key}"></p>
       <p th:text="${dept.dname}"></p>
       <p th:if="${dept.did>=12}">符合</p>
       <p th:unless="${dept.did>=12}">不符合</p>
       <table>
           <tr >
               <td>编号</td>
               <td>名称</td>
               <td colspan="2">操作</td>
           </tr>
    
           <tr th:each="item : ${keylist}">
               <td th:text="${item.did}">编号</td>
               <td th:text="${item.dname}">名称</td>
               <td>
                   <a th:href="@{del(uid=${item.did},uname='zhang')}">删除</a>
                   <a th:href="${'/del1/'+ item.did}">删除1</a>
               </td>
               <td><a href="">修改</a> </td>
           </tr>
       </table>
    
    
    <form action="add" method="post" th:object="${dept}">
        id:<input type="text" name="did" th:value="*{did}"/> <br/>
        姓名:<input type="text" name="dname" th:value="*{dname}"/><br/>
        性别:<input type="radio" name="gender" th:value="*{gender}" th:checked="*{gender}"/><input type="radio" name="gender" th:value="*{gender}" th:checked="*{not gender}"/><br/>
        出生年月日:<input type="date" name="birth" th:value="*{#dates.format(birth,'yyyy-MM-dd')}" /><br/>
    
        <input type="submit" value="提交">
    </form>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    实体类

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Dept {
        private int did;
        private String dname;
        private boolean gender;
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        private Date birth;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    session的使用,登录:

    login.html

      <form action="login" method="post">
            登录名:<input name="uname" ><br/>
            登录密码:<input name="upwd" ><br/>
            <input type="submit" value="登录">
        </form>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    controller类

     @RequestMapping("loginui")
        public String loginui(){
            return "login";
        }
    
        @RequestMapping("loginout")
        public String loginout(HttpSession session){
            session.removeAttribute("loginemp");
            return "login";
        }
    
        @RequestMapping("login")
        public String xx(String uname,String upwd,HttpSession session){
            if(uname.equals("admin")&& upwd.equals("123")){
                User user = new User(uname,upwd);
                session.setAttribute("loginemp",user);
                return "index";
            }else{
                return "login";
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    实体类

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class User {
        private String uname;
        private String upwd;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    index.html

     <a href="loginui" th:if="${session.loginemp==null}">登录</a>
      <div th:unless="${session.loginemp==null}">
          用户名:<span th:text="${session.loginemp.uname}"></span>
          <a href="loginout" > 注销登录</a>
      </div>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如有疑问,去资源下载:https://download.csdn.net/download/zhangting123123/88362884?spm=1001.2014.3001.5503

  • 相关阅读:
    第十九章 Java绘图
    极智Paper | YOLOS 通过目标检测重新思考Vision Transformer
    【0基础百日刷题】洛谷刷题知识拾遗
    八、JavaScript:事件监听器
    低耦合的理解
    聊聊秒杀系统的设计(四)
    【机器学习笔记】【随机森林】【分类器】
    设计模式之六大设计原则
    阿里云-快照创建自定义镜像,新主机更换操作系统(选择自定义镜像)
    【Docker系列】Docker生产常用命令01
  • 原文地址:https://blog.csdn.net/zhangting123123/article/details/133137255