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"> 元素内,否则会出错。

http://blog.csdn.net/xyr05288/article/details/51067009

Thymeleaf利用layout.html文件生成页面布局框架的更多相关文章

  1. extjs layout 最灵活的页面布局样式

    当你在页面布局的时候,遇到页面元素较多,不知如何完美布局... 可以试试下面这个类型,万能布局类型. var panel = new Ext.Panel({ renderTo:Ext.getBody( ...

  2. 利用代码生成工具Database2Sharp生成ABP VNext框架项目代码

    我们在做某件事情的时候,一般需要详细了解它的特点,以及内在的逻辑关系,一旦我们详细了解了整个事物后,就可以通过一些辅助手段来提高我们的做事情的效率了.本篇随笔介绍ABP VNext框架各分层项目的规则 ...

  3. 使用 Apache Tiles 3 构建页面布局

    参考博客:http://aiilive.blog.51cto.com/1925756/1596059Apache Tiles是一个JavaEE应用的页面布局框架.Tiles框架提供了一种模板机制,可以 ...

  4. 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]

    如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...

  5. Magento布局layout.xml文件详解

    解析顺序 布局xml文件一般位于app/design/{area}/{package}/{theme}/layout/目录下.Layout文件一般包含block.reference.action三种标 ...

  6. BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版

    如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...

  7. 前端框架 EasyUI (2)页面布局 Layout

    在 Web 程序中,页面布局对应用程序的用户体验至关重要. 在一般的信息管理类的 Web 应用程序中,页面结构通常有一个主工作区,然后在工作区上下左右靠近边界的区域设置一些边栏,用于显示信息或放置一些 ...

  8. 无废话ExtJs 入门教程十六[页面布局:Layout]

    无废话ExtJs 入门教程十六[页面布局:Layout] extjs技术交流,欢迎加群(201926085) 首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 bùjú: [distributi ...

  9. 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

随机推荐

  1. Leetcode_217_Contains Duplicate

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/46271159 Given an array of inte ...

  2. 恶补web之八:jQuery(3)

    jquery和其他js框架.jQuery使用$作为jQuery的简写,但是还有很多js框架,比如: MooTools,Backbone,Sammy,Cappuccino,Knockout,JavaSc ...

  3. rcp perspective 添加9个视图均匀排列

    PageLayout布局方法 pageLayout.addView("NodePMTSStream" + ":1", IPageLayout.TOP, 0.5f ...

  4. 交换机设置IP

    二成交换机所有端口在默认情况下都是属于vlan1的 代表整个交换机 你只需要设置vlan1的ip地址就行了 进入交换机配置界面后 命令如下:enableconfigure terminalinterf ...

  5. php仿经典省市县三级联动

    之前有个需求要写个类似省市县三级联动的页面,于是,网上找了点资料看了下,其实原理很简单: 当我们选择一级栏目中某条记录的时候,会获取该栏目的vaule值,并发起ajax请求,后台根据这个vaule值, ...

  6. jQuery的学习笔记2

    jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 ...

  7. 用post请求方式实现对地图服务的基本操作

    ArcGIS Server REST API 中的很多操作都可以用以下方式实现,具体参数的设置请查看其中的详细说明 public List<string> getGeometry(stri ...

  8. Postgresql中临时表(temporary table)的特性和用法

    熟悉Oracle的人,相比对临时表(temporary table)并不陌生,很多场景对解决问题起到不错的作用,开源库Postgresql中,也有临时表的概念,虽然和Oracle中临时表名字相同,使用 ...

  9. spring 整合 shiro框架

    shiro是用来干嘛的?从它的官网上(http://shiro.apache.org/)基本可以了解到,她主要提供以下功能: (1)Authentication(认证) (2)Authorizatio ...

  10. Http协议、Tomcat、servlet

    HTTP协议 Http,超文本传输协议是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准. Http协议由http请求和http响应组成 http请求: 1.请求行 请求方式 POST ...