`

Grails项目示例

 
阅读更多
  Grails项目示例
摘自:http://www.cnblogs.com/liuyou/archive/2011/10/31/2230626.html
第一个例子”hello world”

3.1 Grails基本命令

1. 创建一个新的应用: grails create-app $projectname
创建一个新的GRAILS项目,进入GRAILS_HOME:grails create-app $projectname
以下的命令要进入$projectname,才能执行

2. 创建域类:grails create-domain-class $domainname

3. 生成基本Web应用程序:grails generate-all $domainname

注意:由于bug-245,Grails 0.2.1不能生成控制器。您必须手动生成控制器,其方法是对每个域类使用generate-controller 命令

grails generate-controller $domainname

4. 创建服务:grails create-service $servciename

5. 创建Controller:grails create-controller $controllername

6. 打包:cd $projectname;grails war

3.2 HelloWorld例子

3.2.1 创建HelloWorld项目

进入$GRAILS_HOME,执行grails create-app HelloWorld,系统生成的目录如下:

%PROJECT_HOME%   + grails-app       + conf                 ---> 存放一些配置信息,比如数据源       + controllers          ---> 存放控制器       + domain               ---> 存放域对象(domain class)       + i18n                 ---> 存放一些i18n相关的内容       + services             ---> 存放服务组件       + taglib               ---> 存放标签库       + views                ---> 存放视图组件       + layouts              ---> 存放布局组件   + lib   + spring                    ---> spring配置信息(可选)   + hibernate                 ---> 配置hibernate配置信息   + war       + WEB-INF3.2.2 配置数据源

这里使用的是grails自带的HSQLDB内存数据库,配置文件为DevelopmentDataSource.groovy,内容如下:

class DevelopmentDataSource {

boolean pooling = true

String dbCreate = "create-drop" // one of 'create', 'create-drop','update'

String url = "jdbc:hsqldb:mem:devDB"

String driverClassName = "org.hsqldb.jdbcDriver"

String username = "sa"

String password = ""

}

3.2.3 创建域类,控制器,视图

域类就是对应数据库的表的,Hello域就是对应到数据库的Hello表

进入HelloWorld目录后

Ø grails create-domain-class Hello (创建Hello域类)

编辑这个域,以适应自己的需求

class Hello {

Long id

String name

String saywhat

}

Ø grails generate-all Hello (创建Hello控制器和视图view)

Ø grails run-app (运行web服务)

默认是8080端口,指定端口grails -Dserver.port=80 run-app

在IE里输入http://127.0.0.1:8080





到此一个有增,删,改的web服务弄好了,系统给你做了大部分工作.

3.3 使用服务

Grails里的服务类似于java的jar包,是封装好的接口.

3.3.1 创建服务:grails create-service Hello

修改HelloWorld/grails-app/services/LoginService.groovy的内容为:

class HelloService {

boolean transactional = true

def sayHello(String name){

return name + "say: hello world!!!"

}

def serviceMethod() {

// TODO

}

}

3.3.2 修改controller

class HelloController {

HelloService helloService //定义服务

def index = { redirect(action:testhello,params:params) } //默认的action为testhello

def testhello = {//定义一个名为testhello的action

//从域类(就是数据库表)里查询数据

def hello = Hello.executeQuery("select id,name,saywhat from Hello")

def helloList = new ArrayList()

for(ehello in hello){

helloList.add(helloService.sayHello(ehello[1]))

}

//render到hello的视图就是hello.gsp,参数是model里的左边的helloList,右边的helloList是”def helloList”

render(view:'hello',model:[helloList:helloList])

}

……

}

3.3.3 添加hello.gsp

在views/hello目录下添加hello.gsp,代码如下:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<meta name="layout" content="main" />

<title>Show Hello</title>

</head>

<body>

<div class="body">

<g:each in="${helloList}" var="varHelloList">

<h1>${varHelloList}</h1>

</g:each>

</div>

</body>

</html>

Web效果图:



4 部署服务

1. 到工程目录下,执行:grails war

2. 把*.war文件放在apache的webapp下,启动apache就可以了
分享到:
评论

相关推荐

    grails项目配置

    **Grails项目配置详解** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,简化了开发过程。本项目是一个关于Grails的演示示例,特别关注了数据模型的...

    grails示例

    **Grails 框架详解及示例应用** Grails 是一个基于 Groovy 语言的开源Web应用框架,它构建于Java平台之上,利用了Spring、Hibernate和Groovy的强大力量,旨在简化开发过程,提高开发效率。Grails遵循模型-视图-控制...

    Grails 入门指南+示例源码

    4. **Grails项目结构**:解析Grails项目的目录结构,理解各部分的作用,如`src/main/groovy`、`grails-app`等。 5. **GORM(Grails Object Relational Mapping)**:Grails的内置ORM框架,用于数据库操作。学习GORM...

    grails login

    这将在指定目录下生成一个完整的Grails项目结构。 **3. 数据库配置** Grails默认使用H2内存数据库,如需使用MySQL,需修改`Config.groovy`中的数据库配置。添加如下代码: ```groovy dataSource { pooled = true ...

    grails-spock-examples:带有基于 Spock 的测试的 Grails 项目

    带有基于 Spock 的测试的 Grails 项目。 有关基于 Grails 1.3.7 的示例,请查看分支 有关基于 Grails 2.2.0 的示例,请查看分支 有关基于 Grails 2.3.7 的示例,请查看分支 有关基于 Grails 2.4.0 的示例,请...

    bootStrapDemo:Grails项目

    BootstrapDemo: Grails项目是一个基于JavaScript的Web应用示例,主要展示了如何在Grails框架下集成和使用Bootstrap库。Grails是一种开源的、基于Groovy语言的全栈式Web应用框架,它简化了开发过程,提供了丰富的插件...

    Grails3配置logback日志.pdf

    本文主要介绍如何在Grails3项目中配置logback,实现日志的详细配置,包括按天生成独立的日志文件、日志格式设置以及对日志文件大小的控制。 首先,logback的配置文件是logback.groovy,需要放在项目的grails-app/...

    grails中文入门简介

    Grails还支持Ant和Maven,这意味着可以利用这两种构建工具的生态来管理Grails项目。 对象关系映射(GORM)是Grails框架中的一个重要组成部分,它为Groovy语言提供了对象持久化的支持。GORM支持基本的CRUD操作,并且...

    grails使用freemarker.rar

    这暗示在Grails项目中,开发者可以利用FreeMarker的强大模板功能来分离视图层的逻辑,使得视图与控制器、模型之间的耦合度降低,提高代码的可读性和维护性。Grails集成FreeMarker后,开发者可以在模板文件中编写纯...

    grails 中文第二版

    - 使用`grails create-app`命令快速创建一个新的Grails项目。 - 自动生成项目的基本结构,包括目录结构和必要的配置文件。 **Hello World示例** - 创建一个简单的控制器,实现基本的路由逻辑。 - 在视图中展示...

    grails-websocket-example:使用 websockets 的 Grails 聊天室示例

    8. **运行项目**: 为了运行此示例,开发者需要先安装 Grails 并配置好开发环境,然后克隆或下载项目,进入项目根目录并执行 `./grailsw run-app` 命令。这将启动 Grails 应用,使聊天室可用。 9. **调试与测试**: ...

    grails中文参考手册

    - **创建一个Grails应用**:使用`grails create-app`命令可以快速创建一个新的Grails应用,这将生成基本的项目结构。 - **Hello World示例**:在新创建的应用中,你可以通过创建一个简单的控制器和视图来实现经典...

    Grails从入门指南(第二版)

    13. **案例研究**:通过实际项目示例,综合运用所学知识,解决实际开发问题。 14. **社区与资源**:了解Grails社区,获取最新的Grails资讯、文档和工具,持续学习和跟进框架发展。 这本书是Grails新手的必备读物,...

    Grails学习记录

    10. **Gradle构建工具**:Grails项目默认使用Gradle进行构建,理解Gradle的构建脚本和任务对于项目管理和部署至关重要。 11. **Grails命令行工具**:包括创建新项目、生成代码模板、运行测试等,是开发过程中的重要...

    第一个grails程序

    在"第一个grails程序"中,我们通常会看到一个典型的Grails项目结构,包括以下几个关键部分: 1. **src/main/groovy**:这个目录存放所有Groovy源代码,包括应用程序的主要业务逻辑和控制器。 2. **src/main/...

    Grails入门指南-中文版

    - 使用命令行工具创建一个新的Grails项目。 - 示例命令:`grails create-app myapp` **2. 领域模型** - 定义应用程序的核心实体(例如User、Product等)。 - 这些实体通常映射到数据库表。 **3. 控制器与视图*...

    grails app

    创建一个Grails应用的第一步通常是使用`grails create-app`命令,这会生成项目的目录结构和基础文件。虽然我们没有图片,但我们可以从文件名"Hello"推测,这可能是应用的初始控制器或服务,或者是一个简单的"Hello,...

    grails中文文档

    提供的 "Grails1.1中文文档-----2009.3.25.chm" 和 "Grails.zip" 文件,应该包含了 Grails 1.1 版本的中文文档和可能的示例代码。这些文档可以帮助你深入了解 Grails 的各项特性和使用方法,特别是对于初学者来说,...

    grails-2.4.4

    为了更好地理解和使用Grails 2.4.4,开发者可以参考官方文档、在线教程、社区论坛和示例项目。Grails社区活跃,有大量的开发者分享他们的经验和解决方案,为初学者和经验丰富的开发者提供了宝贵的资源。 总结来说,...

Global site tag (gtag.js) - Google Analytics