首页 > 其他分享 >Thymeleaf利用layout.html文件生成页面布局框架

Thymeleaf利用layout.html文件生成页面布局框架

时间:2022-12-19 10:36:59浏览次数:45  
标签:layout bootstrap js Thymeleaf html th var dt

1.layout.html文件 生成布局

<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout">
<head>

<meta charset="utf-8" />
<title>首页</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

<!-- bootstrap -->
<link rel="stylesheet" href="../../static/bootstrap/3.3.5/css/bootstrap.min.css"
th:href="@{/bootstrap/3.3.5/css/bootstrap.min.css}" />

<style type="text/css">
body{
font-family:微软雅黑;
font-size:14px;
}
</style>

</head>

<body>
<div th:fragment="topnav">
<nav class="navbar navbar-default" style="background: none repeat scroll 0 0 #394755;color:#fff;height:60px;">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header" style="margin-right:20%;">
<a class="navbar-brand" href="/mainframe" style="color:#fff;">测试&系统</a>
</div>


<!-- 退出 -->
<a class="navbar-brand" href="#" style="color:#fff;float:right;" onclick="javascript:safeLogoutFun();">退出</a>

<!-- 欢迎语 -->
<div class="navbar-brand" style="margin-right:30px;font-size:15px;float:right;color:#f5d313;">
欢迎您,<span th:text="${session.LoginUser.user_name}">亲爱的用户</span> 现在是
<span id="time"></span>
<script th:inline="javascript">
/*<![CDATA[*/
function setTime(){
var dt=new Date();
var arr_week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
var strWeek=arr_week[dt.getDay()];
var strHour=dt.getHours();
var strMinutes=dt.getMinutes();
var strSeconds=dt.getSeconds();
if (strMinutes<10) strMinutes="0"+strMinutes;
if (strSeconds<10) strSeconds="0"+strSeconds;
var strYear=dt.getFullYear()+"年";
var strMonth=(dt.getMonth()+1)+"月";
var strDay=dt.getDate()+"日";
var strTime=strHour+":"+strMinutes+":"+strSeconds;
time.innerHTML=strYear+strMonth+strDay+" "+strTime+" "+strWeek;
}
setInterval("setTime()",1000);


//20151013 安全退出
function safeLogoutFun(){
if(confirm("确定需要退出吗?")){
$.ajax({
type: "POST",
url: "safeLogout",
dataType: "json",
error:function(){
alert("退出失败");
},
success: function(responseInfo)
{
//
if(responseInfo.status == 0){
window.location.replace("index");
//window.event.returnValue = false;//取消默认事件的处理
}

//
if(responseInfo.status == 1){
alert("退出失败");
}
}
});//end ajax
}//end if confirm
}
/*]]>*/
</script>
</div>

</div>
</nav>
</div> <!-- 导航条 -->

<div layout:fragment="content"></div>

<!-- put the scripts below -->
<script src="../../static/jquery/2.1.4/jquery-2.1.4.min.js"
th:src="@{/jquery/2.1.4/jquery-2.1.4.min.js}"></script>
<script src="../../static/bootstrap/3.3.5/js/bootstrap.min.js"
th:src="@{/bootstrap/3.3.5/js/bootstrap.min.js}"></script>

</body>

</html>

2.之后页面可套用此布局模式,重写<div layout:fragment = "content">元素,css文件和js文件均可继承

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
layout:decorator="base/layout">
<!-- layout文件路径-->

<head>
<meta charset="utf-8" />
<title>首页</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />

</head>

<body>
<div layout:fragment="content" style="width:96%;margin-left:auto;margin-right:auto;">
<div style="font-size:18px;">
测试thymeleaf layout布局 模式套用
js css 全部继承自layout
content 因页面不同而不同
</div>

<div style="margin:20px;">
</div>

<div style="font-size:16px;margin:20px 0px;">
<a href="/tools/editTable1" target="_blank">可编辑表格插件一测试</a>
</div>
<div style="font-size:16px;">
<a href="/tools/editTable2" target="_blank">可编辑表格插件二测试</a>
</div>
<script src="../../static/jquery/2.1.4/jquery-2.1.4.min.js"
th:src="@{/jquery/2.1.4/jquery-2.1.4.min.js}"></script>
<script src="../../static/bootstrap/3.3.5/js/bootstrap.min.js"
th:src="@{/bootstrap/3.3.5/js/bootstrap.min.js}"></script>
<script src = "../../static/js/security/mainframe.js"
th:src="@{/js/security/mainframe.js}"></script>

</div>
<!-- 编辑表格 -->

</body>

</html>

这里若子页面中单独引入js文件,如这里的mainframe.js, 需将引用的其他js文件全部写到此js前面,即使是用到了layout.html中已经引用的jQuery.js文件,也需要将其重新再引入一遍,并且必须将js文件写进<div layout:fragment = "content"> 元素内,否则会出错。


 



标签:layout,bootstrap,js,Thymeleaf,html,th,var,dt
From: https://blog.51cto.com/u_15147537/5951460

相关文章

  • Rest接口和Thymeleaf的两个坑
    springbootthymeleaf热部署在使用springboot开发的时候,使用了Thymeleaf作为前端的模板开发,发现在调试过程中,改动了Thymeleaf模板后,需要重新启动下项目,才可以立即生效......
  • 没有为扩展名“.html”注册的生成提供程序
     原来的项目是用VS2003开发的,用VS2008成功转换了项目,运行的时候发现有些原本就是.html类型的文件无法访问(项目中使用了URL重写组件,并在web.config中配置了大量重写规则),报......
  • 实用HTML,CSS和JavaScript速查表--转载
    速查表是帮你记住东西的有效工具。Web设计师和开发者经常使用的快捷键简表会使他们在网上的工作效率大大提高。事实上,速查表就是来帮助我们把日常中最常用到的信息聚集起来......
  • 【Pytest--html报告优化+增加错误截图,获取统计数据】
    一、pytest生成的原始html报告1、在我们实际工作中,环境信息不一定要在报告中详细提现,可以增减2、用例信息,默认展示的是用例的model名::用例名称,并不直观,所以我们可以增加一......
  • 前端开发系列124-进阶篇之html-parser
    title:前端开发系列124-进阶篇之html-parsertags:categories:[]date:2019-07-0700:00:08本文简单研究html标签的编译过程,模板的编译是前端主流框架中的基础部分,......
  • 前端17号学习(html完结)
    一、路径1.目录文件夹和跟目录实际工作中需要创建一个文件夹来管理他们。目录文件夹,就是普通文件夹,里面存放页面相关素材,如html文件、图片等。根目录,打开目录文件夹的......
  • HTML属性的使用
    标准文档流:指元素按照块级元素或者行内元素的性质从上到下从左到右依次排列行内元素:元素可以排列在一行并且宽高等于自身内容的宽高块元素:元素独自一行并且......
  • HTML多媒体
    多媒体(一)、插入音频、视频和flash在网页中插入音频、视频和flash都是使用embed标签。语法:<embedsrc="多媒体文件地址"width="播放界面的宽度"height="播放界面的高......
  • HTML段落与文字
    (一)、段落标签(1)、段落与文字标签表1段落与文字标签标签 语义 说明<h1>~<h6> header 标题<p> paragraph 段落<br> break 换行<hr> horizontalrule 水平线<div> divisi......
  • HTML的基本标签
    HTML的基本标签(1)HTML标签整个网页是从<html>这里开始的,然后到</html>结束。(2)head标签head标签代表页面的“头”,定义一些特殊内容,这些内容往往都是“不可见内容”(在浏......