`
- 浏览:
419253 次
- 性别:
- 来自:
北京
-
定义页面布局(Layouts)
页面布局可以通过Grails对SiteMesh的支持来创建,有两种方法来创建页面布局,一种是在视图页面中设置名为"layout"的meta标签的值来指定需要使用的页面布局:
<html>
<head>
<meta name="layout" content="main"></meta>
</head>
<body>This is my content!</body>
</html>
现在在"grails-app/views/layouts"目录下创建名为"main.gsp"的布局就可以了!内容如下:
<html>
<head>
<title><g:layoutTitle default="An example decorator" /></title>
<g:layoutHead />
</head>
<body onload="${pageProperty(name:'body.onload')}">
<div class="menu"><!--my common menu goes here--></menu>
<div class="body">
<g:layoutBody />
</div>
</body>
</html>
这个布局使用了 GSP 标签 来将布局应用到目标页面。
GSP对于页面布局也提供了支持,这就是Layout。它是以Sitemesh为基础,同样也是GSP文件,文件位于grails-app/views/layouts。Layout定义涉及3个主要元素:
layoutTitle,输出目标页Title
layoutHead,输出目标页Head
layoutBody,输出目标页Body
使用示例:
<html>
<head>
<title><g:layoutTitle default="An example decorator" /></title>
<g:layoutHead />
</head>
<body onload="${pageProperty(name:'body.onload')}">
<div class="menu">
<!--my common menu goes here?
<div class="body">
<g:layoutBody />
</div>
</div>
</body>
</html>
其中,pageProperty,可用于输出目标页的某个属性。
对于Layout的使用,4种方式。
法1:在<head>之间使用<meta name="layout" content="main"></meta>。
法2:使用规约。通过存放位置来确定。当有多个匹配时,以详细的优先使用:
应用于Controller:grails-app/views/layouts/controller-name.gsp
Action:grails-app/views/layouts/controller-name/action-name.gsp
法3:使用Controller的layout属性
class BookController {
//该controller相关的所有view都将使用
//grails-app/views/layouts/customer.gsp为Layout
static layout = 'customer'
def list = { … }
}
法4,使用<g:applyLayout>,对内容区域、URL、template应用模板:
<g:applyLayout name="myLayout" template="bookTemplate" collection="${books}" />
<g:applyLayout name="myLayout" url="http://www.google.com" />
<g:applyLayout name="myLayout">
The content to apply a layout to
</g:applyLayout>
在GSP中使用inlcude,有以下的方式:
作为标签:<g:include controller="book" action="list"/>
或者跟applyLayout合用:
<g:applyLayout name="myLayout">
<g:include controller="book" action="list"/>
</g:applyLayout>作为方法调用:def content = include(controller:"book", action:"list")
在Layout中,我们还可以使用内容块,这将让我们可以更灵活地使用layout。它的使用分成2部分:
在Layout中使用<g:pageProperty />预留:
<div id="left1">
<g:pageProperty name="page.layout1.left.content"/>
</div>
<div id="top2">
<div id="toolbar"></div>
</div>
<div id="center2">
<g:pageProperty name="page.layout2.center.content"/>
</div>
<div id="bottom2">
<g:pageProperty name="page.layout2.bottom.content"/>
</div>
<g:pageProperty name="page.other"/>
在内容页中使用<content>填充:
<content tag="layout1.left.content"> <!-- 注意没有page前缀 -->
<div id="toc"></div>
</content>
<content tag="layout2.center.content">
<div id="terminal"></div>
</content>
<content tag="layout2.bottom.content">
<div id="helpstone"></div>
</content>
<content tag="other">
<div id="how-to" style="text-align:left;">
...
</div>
</content>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Views 是 Grails 应用程序中的用户界面部分,通常使用 Groovy Server Pages (GSP) 文件编写。GSP 结合了 HTML、CSS 和 JavaScript 以及 Groovy 语法,允许动态生成页面内容。 **Services** Services 是可重用的...
Grails兼容广泛的Java应用服务器,包括但不限于Apache Tomcat、Jetty、Resin等,这使得Grails应用能在不同的环境中无缝运行。 8. **创建工件** Grails提供了多种命令用于生成模型类、控制器、服务等工件,如`...
Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式的应用程序。 在入门Grails之前,首先需要了解如何下载并安装这个框架。Grails官方提供了各个版本的下载链接,通常包括zip压缩包和可...
4. 版本兼容:虽然grails-fckeditor-0.9.5是较旧的版本,但理解其工作原理有助于我们理解如何集成第三方库,以及在更新到新版本时需要注意的问题。 总结,Grails框架及其中文文档为开发者提供了强大的工具和丰富的...
Grails1.1最新 中文 文档 当今的Java Web开发技术显得过于复杂,相对于它本身的需要来说。现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维...
本文将深入解析Grails中文API中的关键概念和技术点。 1. **Grails框架概述** Grails是基于Spring框架构建的,它整合了Groovy语言的强大功能和Java生态系统的优势。Grails遵循MVC(Model-View-Controller)设计模式...
《Grails 1.1 中文文档》是一个非常宝贵的资源,尤其对于国内的开发者来说,由于Grails在中文社区中的资料相对较少,这份文档的价值不言而喻。Grails是一个基于Groovy语言的开源Web应用框架,它借鉴了Ruby on Rails...
- Grails版本信息可以在项目的`BuildConfig.groovy`文件中找到。 **文档引擎** - 提供了文档生成工具,帮助开发者快速生成API文档。 **依赖解析** - Grails使用Ivy作为其依赖管理系统。 - 支持配置依赖关系,包括...
- 在`Windows -> Preferences -> Groovy`中,勾选"Disable Groovy Compiler Generating Class Files",防止groovy文件生成class文件,以免引起不必要的问题。 - 将Grails命令配置为Eclipse的外部工具,方便直接在...
在Grails框架中,文件的上传与下载是常见的功能需求,尤其在开发涉及大量文档、图片或媒体文件处理的应用程序时。以下是对Grails中上传和下载操作的深入解析,包括其实现机制、代码示例及注意事项。 ### 文件上传 ...
1. **模型(Model)**: 在Grails中,模型通常由Domain Classes表示,它们是持久化的实体,与数据库表对应。Domain Classes使用Groovy的元编程特性,如属性验证和动态方法,提供数据验证和业务逻辑。 2. **视图...
Grails 最新的 v1.1版的中文文档,chm格式,Grails是一套快速开发Web应用的开源框架,基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,能为大家带来超高效率的一站式框架。
7. 阅读Grails中文API文档,解决实际开发中的问题。 在学习过程中,还可以参考在线教程、视频课程和社区论坛,如Stack Overflow和Grails官方社区,以便获取更多实践经验和帮助。 总之,Grails作为Java平台上的快速...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源 Web 应用框架,它构建于 Spring Boot 之上,旨在提高开发效率,简化开发流程。Grails 提供了MVC(Model-View-Controller)架构模式,支持领域驱动设计...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,充分利用了Java EE的许多功能,同时提供了更简洁、高效的语法,使得开发过程更为快捷。Grails 的设计目标是简化...
在Grails中,Controller处理请求,View呈现结果,Model则存储和管理业务数据。 3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,...
【Grails中集成GWT】知识点详解 在Web应用开发中,Grails是一个基于Groovy语言的开源框架,而Google Web Toolkit (GWT)则是一个用于构建和优化复杂JavaScript前端应用的开发工具。将这两者结合,可以让开发者利用...
- **部署**:讲解了在各种Java EE容器中部署Grails应用的方法。 2. **配置**: - **基本配置**:讨论了Grails的基础配置选项,包括内置选项和日志设置。 - **数据源**:详细介绍了数据源的配置,包括与环境的...