Spring BootV09:Thymeleaf模板引擎

一、Spring Boot整合Thymeleaf
1、创建Spring Boot项目ThymeleafDemo
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、在全局配置文件里配置Thymeleaf属性
在这里插入图片描述
3、创建登录控制器LoginController
在这里插入图片描述
在这里插入图片描述
4、创建模板文件,获取控制器传来的动态数据

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
<h3 th:text="${currentYear}">当年</h3> 
<h3 th:text="${currentYear} + 1">明年</h3>
</body>
</html>

5、启动项目,访问http://localhost:8080/toLoginPage
在这里插入图片描述
二、Spring Boot集成Bootstrap
(一)集成Bootstrap
1、引用在线文档的方式
下载Bootstrap并引用的方式
Bootstrap压缩包下载链接:https://pan.baidu.com/s/1gWca14KH2OnLjoVzp7BirQ 提取码:li4b
解压缩到bootstrap-4.0.0目录
在这里插入图片描述
将bootstrap-4.0.0目录拷贝项目的static目录
在这里插入图片描述
在这里插入图片描述
(二)编写登录页面login.html
1、集成Bootstrap
在这里插入图片描述
2、编写登录页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
    <link th:href="@{/bootstrap-4.0.0/css/bootstrap.css}" rel="stylesheet">
    <javascript th:src="@{/bootstrap-4.0.0/js/jquery-3.4.1.min.js}"></javascript>
    <javascript th:src="@{/bootstrap-4.0.0/js/bootstrap.bundle.js}"></javascript>
    <javascript th:src="@{/bootstrap-4.0.0/js/bootstrap.js}"></javascript>
</head>
<body>
<div class="col-6 m-auto" style="margin-top:30px!important;">
    <div class="text-center">
        <span th:text="${currentYear}">今年</span> -
        <span th:text="${currentYear} + 1">明年</span>
    </div>
    <div class="border border-info bg-light p-2" style="border-radius: 5px">
        <form action="/login" method="post">
            <h3 class="text-center">用户登录</h3>
            <div class="mt-1">
                <input type="text" id="username" name="username" class="form-control" placeholder="输入用户名" autofocus>
            </div>
            <div class="mt-1">
                <input type="password" id="password" name="password" class="form-control" placeholder="输入密码">
            </div>
            <div class="checkbox text-center">
                <label>
                    <input class="form-check-input text-center" type="checkbox">记住我
                </label>
            </div>
            <div>
                <button class="btn btn-lg btn-primary btn-block" id="login" type="submit">登录</button>
            </div>
        </form>
    </div>
</div>
</body>
</html>

3、启动项目,访问http://localhost:8080/toLoginPage
在这里插入图片描述
(三)编写登录成功与失败的模板页面
1、编写登录成功页面success.html
在这里插入图片描述
2、编写登录失败页面failure.html
在这里插入图片描述
(四)启动项目,测试效果
启动项目后,在浏览器里访问http://localhost:8080/toLoginPage
在这里插入图片描述
创建Person实体类
在这里插入图片描述

package net.tjl.lesson09.bear;

public class Person {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String telephone;

    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 + '\'' +
                '}';
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
function doublechooseclick() { //alert("doublechooseclick"); $.ajax({ type: "POST", dataType: "json", url: "/HttpUrl/UserReg.ashx?UserMail=" + emailTxt, success: function (msg) { // alert(msg.user); var user = msg.user; var balance = msg.balance; // alert(user); /// alert(balance); if (user != "") { location.href = "RegSuccess.html?user=" + user + "&balance=" + balance; //location.href实现客户端页面的跳转 // location.href = "RegSuccess.html"; //location.href实现客户端页面的跳转 } else { alert("注册失败!"); return; } } }); } //function doublechooseclick() { // $.post("/HttpUrl/UserReg.ashx", { id: "1", name: "join" }, function () { location.href = "/User/RegSuccess.html"; }); //} /**********************************************************************************/ //var falg = true; //定义是否通过的标志 //function bt_reg_C() { // location.href = "/User/reg.html "; //} //$(document).ready(function () { // $("#VerifyCode").bind("click", function () { // $("#VerifyCode img").attr("src", "/Httpurl/RandomImage.ashx?time=" + Math.random()); // }); // $("#bt_login").bind("click", function () { // //alert("1"); // login(); // }); //}); //function login() {///登陆 // var falg = ""; // var username = $("#UserName").val(); // var password = $("#PassWord").val(); // var val = $("#Validate").val(); // $.ajax({ // type: "POST", // url: "/HttpUrl/UserReg.ashx?Validate=" + val, // success: function (msg) { // var msg = "ok"; ///测试先写死,到时候进行屏蔽 // if (msg == "ok") { // falg = true; // if (falg) { // $.ajax({ // type: "POST", // url: "/HttpUrl/index.ashx?type=3&uname=" + username + "&pwd=" + password, // success: function (msg) { // if (msg.user == username) { // downdan("ssq", username); ///下单 // } // else { // alert("用户名密码错误!"); // } // } // }); // } // } // else { // alert("验证码不一致!"); // falg = false; // } // } // }); //} ///跳转按钮中的事件 最强护卫 function sure() { var combination = getcombination(); var amount = $("#pt_bs").val() - 0; var posturl = "/order/sure"; var count; var btype = $("input[name='buyType']:checked").val(); var title; //<li class="chasing_name"><span>追号名称:</span><input name="" type="text"></li> if (btype == 3) { posturl = "/order/autoplay"; count = $("#lx").val(); title = $(".chasing_name :text").val(); if (title == null || title == '') { title = '\u8ffd\u53f7'; } if (count == null || count <= 0) { alert("\u8bf7\u8f93\u5165\u8ffd\u53f7\u7684\u671f\u6570"); return; } } var lotterytype = $("#lotterytype").val(); if ($("#lx_buy").attr("checked") == "checked") { posturl = "/order/autoplay"; } $.ajax({ //一个Ajax过程 type: "post", url: posturl, dataType: 'json', data: { combination: combination, amount: amount, lotterytype: lotterytype, count: count, title: title }, success: function (data) { if (data.success == true) { tdialog("\u6210\u529f ", "\u8d2d\u4e70\u6210\u529f,\u8bf7<a href='/payment/pay?orderid=" + data.orderid + "&money=" + data.money + "' target='_blank'>\u4ed8\u6b3e</a>"); } else if (data.status == 0) { $.ajax({ type: "get", url: "/home/login", data: { isdialog: true }, success: function (data) { if (btype == 1) { var m = "<div class='Directbuy'><h2>\u76f4\u63a5\u8d2d\u4e70</h2>-<h4>\u65e0\u9700\u767b\u5f55\u5c31\u53ef\u8d2d\u4e70</h4><ul class='popUp_logincon'><li><span class='popUp_loginname'></span><div class='popUp_error' id='noneuserinfo'></div></li><li><span class='popUp_loginname'>\u771f\u5b9e\u59d3\u540d</span><input class='login_input' type='text' name='realname'></li>"; m += "<li><span class='popUp_loginname'>\u8eab\u4efd\u8bc1\u53f7\u7801</span><input class='login_input' type='text' name='idcard'></li>"; m += "<li><span class='popUp_loginname'>\u4e2d\u5956\u8054\u7cfb\u624b\u673a</span><input class='login_input' type='text' name='mobile'></li>"; m += "<li><span class='popUp_loginname'></span><input class='popUp_btn' type='button' name='noneuserbuy' value='\u76f4\u63a5\u8d2d\u4e70' onclick='noneuserbuy();' /></li></ul></div>"; tdialog("\u8bf7\u767b\u5f55", m + data); } else if (btype == 3) { tdialog("\u8bf7\u767b\u5f55", data); } } }); } else if (data.status == 2) { tdialog("\u8bf7\u5b8c\u5584\u8eab\u4efd\u4fe1\u606f", "<a class='improve' href='/account/userinfo' target='_blank'>\u70b9\u6b64\u5b8c\u5584\u4fe1\u606f</a>"); } else { tdialog("\u5931\u8d25\u4e86", data.info); } } }); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值