zoukankan      html  css  js  c++  java
  • springboot模板

    1、thymeleaf模板

    2.Freemarker模板

    Thymeleaf模板

    首先导入依赖

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

     Spring Boot官方文档建议在开发时将缓存关闭,那就在application.properties文件中加入下面这行

    spring:
      thymeleaf:
        cache: true

    user

    package com.jt.springboot.entity;
    
    import lombok.Data;
    
    @Data
    public class user {
        private Integer uid;
        private String uname;
        private String pwd;
    
        public user(Integer uid, String uname, String pwd) {
            this.uid = uid;
            this.uname = uname;
            this.pwd = pwd;
        }
    
        public user() {
        }
    }

    controller层

    package com.jt.springboot.controller;
    
    
    import com.jt.springboot.entity.user;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.servlet.http.HttpServletRequest;
    import java.util.ArrayList;
    import java.util.List;
    
    @Controller
    @RequestMapping("/thymeleaf")
    public class UserController {
        @RequestMapping("/list")
        public String hello(HttpServletRequest request){
            request.setAttribute("msg","传单个字符");
            List<user> userList=new ArrayList<>();
            userList.add(new user(1,"zs","123"));
            userList.add(new user(2,"ww","111"));
            userList.add(new user(3,"ss","222"));
            request.setAttribute("userList",userList);
            request.setAttribute("htmlStr","<span style='color:red' >转译html代码块</span>");
            return "list";
        }
    }

    list.html

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>thymeleaf模板介绍</title>
    </head>
    <body>
    <div th:text="${msg}"></div>
    </body>
    </html>

    html加入提示

    <html xmlns:th="http://www.thymeleaf.org">

    遍历
    htlm页面

    <!DOCTYPE html>
    <html xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>thymeleaf模板介绍</title>
    </head>
    <body>
    <div th:text="${msg}"></div>
    <table width="60%" border="1">
        <tr>
            <td>id</td>
            <td>用户名</td>
            <td>密码</td>
        </tr>
        <tr th:each="u : ${userList}">
            <td  th:text="${u.uid}"></td>
            <td  th:text="${u.uname}"></td>
            <td  th:text="${u.pwd}"></td>
        </tr>
    </table>
    <div th:utext="${htmlStr}"></div>
    </body>
    </html>

    Freemarker模板

    学习网站:http://freemarker.foofun.cn/
    导入pom依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
       </dependency>

    application.yml文件的默认配置

    spring:
      thymeleaf:
        cache: false
    
      freemarker:
        # 设置模板后缀名
        suffix: .ftl
        # 设置文档类型
        content-type: text/html
        # 设置页面编码格式
        charset: UTF-8
        # 设置页面缓存
        cache: false
        # 设置ftl文件路径,默认是/templates,为演示效果添加role
        template-loader-path: classpath:/templates/freemarker
      mvc:
        static-path-pattern: /static/**

    list.ftl

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h2>取值</h2>
    <h3>提供默认值</h3>
    welcome 【${name!'未知'}】 to freemarker!
    
    <h3>exists用在逻辑判断</h3>
    <#if name?exists>
        ${name}
    </#if>
    
    <h2>条件</h2>
    <#if sex=='girl'><#elseif sex=='boy'><#else>
        保密
    </#if>
    
    <h2>循环</h2>
    <table border="1px" width="600px">
        <thead>
        <tr>
            <td>ID</td>
            <td>角色名</td>
            <td>描述</td>
        </tr>
        </thead>
        <tbody>
        <#list roles as role>
            <tr>
                <td>${role.rid}</td>
                <td>${role.roleName}</td>
                <td>${role.desc}</td>
            </tr>
        </#list>
        </tbody>
    </table>
    
    <h2>include</h2>
    <#include 'foot.ftl'>
    
    <h2>局部变量(assign)/全局变量(global)</h2>
    <#assign ctx1>
        ${springMacroRequestContext.contextPath}
    </#assign>
    
    <#global ctx2>
        ${springMacroRequestContext.contextPath}
    </#global>
    a
    ${ctx1}和${ctx2}
    a
    </body>
    </html>

    foot.ftl

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>$Title$</title>
    </head>
    <body>
    版权信息
    </body>
    </html>
    common.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div th:fragment="h1">
        第一部分内容
    </div>
    <div th:fragment="h2">
        第二部分内容
    </div>
    <div th:fragment="h3">
        第三部分内容
    </div>
    </body>
    </html>

    RoleController
    package com.jt.springboot.controller;
    
    
    import com.jt.springboot.entity.Role;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Controller
    @RequestMapping("/freemarker")
    public class RoleController {
        @RequestMapping("/role/list")
        public ModelAndView roleList(){
            ModelAndView mav = new ModelAndView();
            mav.setViewName("/list");
    
            mav.addObject("name",null);
            mav.addObject("sex","gay");
            List list = new ArrayList();
            list.add(new Role(1,"老板","做生意"));
            list.add(new Role(2,"员工","打工"));
            mav.addObject("roles",list);
    
            return mav;
        }
    
        @RequestMapping("toLogin")
        public String toLogin(){
            return "login";
        }
    
    }

  • 相关阅读:
    Serilog 动态添加自定义属性
    C# 序列化与反序列化
    幂等设计
    服务无状态
    vue 显示 mysql 数据库表 Demo
    C# 调用 linux 函数 —— Linux 头文件目录位置
    创建可以在 Zynq 上运行的动态库
    C# 获取所在函数名
    Linux 关闭终端不结束进程
    C# 自动生成版本号
  • 原文地址:https://www.cnblogs.com/ztbk/p/11937055.html
Copyright © 2011-2022 走看看