SpringBoot项目(以现在开发形式Maven创建)+ Thymeleaf模版渲染的形式开发

以前都是学习的SpringBoot和Vue+ELement-Ui的练习,现在来做一下跟着狂神说做一下Thymeleaf模板+SpringBoot集成各个框架的练习

一. 创建SpringBoot项目

	(不知道X-admin的可以去搜索下载)
1. 使用maven创建

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.	依赖导入问题
		1)创建好的项目删除src目录,并且导入依赖
		2)第二步是创建一个新模块,并且创建好包,和application.properties文件,以及编写启动类,如果有application.properties文件无效的问题,可以看我另外一篇文章

在这里插入图片描述

	3)创建好了是这个样子

在这里插入图片描述

	4) 创建好了之后就是导入依赖什么的,我们先导入SpringSecurity和
		Thymeleaf的安全依赖就好啦,其他的暂时不管(到后面要用什么
		咱们就去找什么)
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
	5)然后再到application.properties文件做如下配置
	//下面这句话是对端口号的配置
	server.port=8081
	//下面的是对sang.p12文件的配置
	server.ssl.key-store-type=JKS
	server.ssl.key-store=sang.p12
	server.ssl.key-alias=tomcathttps
	server.ssl.key-store-password=123456
	server.ssl.enabled=true

	//以下是对Thymeleaf的配置,必须要有的哦,不然会报错是SpringBoot没有模板,要手动导入魔板使用的
	spring.thymeleaf.cache=false				{关闭模板引擎的缓存}
	spring.thymeleaf.prefix=classpath:/templates/
	spring.thymeleaf.servlet.content-type=text/html
	spring.thymeleaf.suffix=.html

	2)利用Springsecurity框架实现
//这是文件时实现对SpringMVC接管的内容
@Configuration
public class WebSecurityConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/login").setViewName("/login");
    }
}
2. 然后我们在登录页面 http://localhost:8081/login就可以登录了:如下图

在这里插入图片描述

3. 登录页面的代码实现
	1) 有了上面的了,我们去康康前端登录页面(login.html文件)
<!doctype html>
<html  class="x-admin-sm">
<head>
	<meta charset="UTF-8">
	<title>后台登录-X-admin2.2</title>
	<meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="stylesheet" href="./css/font.css">
    <link rel="stylesheet" href="./css/login.css">
	  <link rel="stylesheet" href="./css/xadmin.css">
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script src="./lib/layui/layui.js" charset="utf-8"></script>
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body class="login-bg">
    
    <div class="login layui-anim layui-anim-up">
        <div class="message">x-admin2.0-管理登录</div>
        <div id="darkbannerwrap"></div>
        
        <form method="post" class="layui-form" >
            <input name="username" placeholder="用户名"  type="text" lay-verify="required" class="layui-input" >
            <hr class="hr15">
            <input name="password" lay-verify="required" placeholder="密码"  type="password" class="layui-input">
            <hr class="hr15">
            <input value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit">
            <hr class="hr20" >
        </form>
    </div>

    <script>
        $(function  () {
            layui.use('form', function(){
              var form = layui.form;
              // layer.msg('玩命卖萌中', function(){
              //   //关闭后的操作
              //   });
              //监听提交
              form.on('submit(login)', function(data){
                // alert(888)
                layer.msg(JSON.stringify(data.field),function(){
                    location.href='index.html'
                });
                return false;
              });
            });
        })
    </script>
    <!-- 底部结束 -->
    <script>
    //百度统计可去掉
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
      var s = document.getElementsByTagName("script")[0]; 
      s.parentNode.insertBefore(hm, s);
    })();
    </script>
</body>
</html>
	2)上面的是没有用Thymeleaf模板来实现的样子(接下来我们要实现用Thymeleaf的
		替代)
		a. 首先在这里补充一下Thymeleaf里面来对src和href等的引用有改变哦如下
			变量表达式: ${...}
			选择变量表达式: *{...}
			消息表达: #{...}
			链接 URL 表达式: @{...}
		b. 在Thymeleaf里面中使用/他代表的是根目录
<!doctype html>
<html  class="x-admin-sm"  xmlns:th="http://www.thymeleaf.org"><!--导入Thymeleaf命名空间-->
<head>
	<meta charset="UTF-8">
	<title>后台登录-X-admin2.2</title>
	<meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!--这里开始有href了,在Thymeleaf里面是用th:href="@{xxx}"和src的引用的,但是有http前缀的一律不要改动哦-->
    <link rel="stylesheet" th:href="@{/css/font.css}">
    <link rel="stylesheet" th:href="@{/css/login.css}">
	  <link rel="stylesheet" th:href="@{/css/xadmin.css}">
    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    <script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body class="login-bg">
    
    <div class="login layui-anim layui-anim-up">
        <div class="message">x-admin2.0-管理登录</div>
        <div id="darkbannerwrap"></div>
        
        <form method="post" class="layui-form" >
            <input name="username" placeholder="用户名"  type="text" lay-verify="required" class="layui-input" >
            <hr class="hr15">
            <input name="password" lay-verify="required" placeholder="密码"  type="password" class="layui-input">
            <hr class="hr15">
            <input value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit">
            <hr class="hr20" >
        </form>
    </div>

    <script>
        $(function  () {
            layui.use('form', function(){
              var form = layui.form;
              // layer.msg('玩命卖萌中', function(){
              //   //关闭后的操作
              //   });
              //监听提交
              form.on('submit(login)', function(data){
                // alert(888)
                layer.msg(JSON.stringify(data.field),function(){
                    location.href='index.html'
                });
                return false;
              });
            });
        })
    </script>
    <!-- 底部结束 -->
    <script>
    //百度统计可去掉
    var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
      var s = document.getElementsByTagName("script")[0]; 
      s.parentNode.insertBefore(hm, s);
    })();
    </script>
</body>
</html>
5.	是不是觉得上面的少了点啥呀,样式对不对 
	所有要对静态资源放行的问题咯,在application.properties文件中写入
spring.web.resources.static-locations=classpath:/templates/

有了上面的登录实现之后,咱们再来看看登录页面上的要改变的东西。

三. 国际化的实现

1. 首先在resource下面建一个i18n的目录
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值