grails 3附带了引导程序3。我想基于grails 4创建自己的main.gsp布局,即用以下内容替换默认的main.gsp:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<asset:link rel="icon" href="favicon.ico" type="image/x-ico" />
<title><g:layoutTitle default="DAM"/></title>
<g:layoutHead/>
</head>
<body>
<g:layoutBody/>
<div class="footer" role="contentinfo"></div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
默认main.gsp的底部是:
<div id="spinner" class="spinner" style="display:none;">
<g:message code="spinner.alt" default="Loading…"/>
</div>
<asset:javascript src="application.js"/>
问题是,我应该包括这些吗?在使用grails的所有这些年中,我从未见过微调器出现在UI中,所以不确定这是否真的有效吗?
我猜我不需要application.js?
也不确定这是干什么的,因为它没有内容:
<div class="footer" role="contentinfo"></div>
答案 0 :(得分:1)
问题是,我应该包括这些吗?
仅当您想显示微调器时。默认的main.css
定义了微调框的样式:
.spinner {
background: url(../images/spinner.gif) 50% 50% no-repeat transparent;
height: 16px;
width: 16px;
padding: 0.5em;
position: absolute;
right: 0;
top: 0;
text-indent: -9999px;
}
根据需要进行调整。
默认的站点网格布局包含具有该样式的div
,并且display
设置为none
,因此不会显示。
<div id="spinner" class="spinner" style="display:none;">
<g:message code="spinner.alt" default="Loading…"/>
</div>
此方法的典型用法是,如果您有一些Javascript执行某项操作,从而希望在该操作发生时显示微调框,则该Javascript可以设置该display
属性,这将导致微调框直到某些属性将属性设置回none
为止。
在使用grails的所有这些年中,我从未见过微调器出现在 用户界面,因此不确定它是否真的有效?
除非您做了一些可能会干扰它的更改,否则它会这么做。
我猜我不需要application.js?
很难说是否想要。这实际上取决于您的应用程序在做什么。 3.3.9应用程序的默认application.js
会拉入其他.js
个文件...
// This is a manifest file that'll be compiled into application.js.
//
// Any JavaScript file within this directory can be referenced here using a relative path.
//
// You're free to add application-wide JavaScript to this file, but it's generally better
// to create separate JavaScript files as needed.
//
//= require jquery-3.3.1.min
//= require bootstrap
//= require popper.min
//= require_self
如果您不希望这些人加入,那么您可能不希望application.js
。当然,您可以编辑application.js
以包括您想要引入的内容。
也不确定这是干什么的,因为它没有内容:
<div class="footer" role="contentinfo"></div>
该元素用作占位符,以呈现常见的页脚元素。