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 Websocket 示例 这是一个演示使用 websocket 聊天室的 Grails 项目示例。 用法 克隆或下载项目并运行以下命令: ./grailsw run-app
带有基于 Spock 的测试的 Grails 项目。 有关基于 Grails 1.3.7 的示例,请查看分支 有关基于 Grails 2.2.0 的示例,请查看分支 有关基于 Grails 2.3.7 的示例,请查看分支 有关基于 Grails 2.4.0 的示例,请...
DM844 的 Grails 项目示例这是南丹麦大学 2015 年Spring Groovy/Grails 课程的一个小示例项目。
Elasticsearch Grails 插件 - 示例应用Elasticsearch Grails 插件的示例应用程序。 插件主页由 Noam Y. Tenne 维护并托管在 。为什么? 如果您习惯了 grails 但从未使用过 ,那么安装插件后您可能会有点迷茫。 ...
Grails Jetty示例应用程序这是一个使用Jetty而不是Tomcat的示例Grails Web应用程序。 为了运行该应用程序,请按照以下说明进行操作: 打开命令行,然后导航到项目目录/文件夹。 使用./gradlew bootWar任务构建WAR。 ...
该项目基于以下示例:ZA 软件开发教程中的 WebSocket 教程 + 完整的聊天室产品:这个最初的理解被用来构建一个更高级的 websocket 聊天室插件,具有多房间、管理员用户、弹出 (jquer-ui) 私人消息、禁止、踢、阻止、...
该项目代表一个基于Web的Grails项目创建者。 可以使用浏览器界面或通过curl创建Grails项目。 使用curl可以查询以下API,以了解可用的版本,配置文件和功能 /versions /$version/profiles /$version/$profile/...
当我的任务是将我们的 grails 应用程序与 Active Directory 集成时,我记得很少有示例......所以我希望这会为您节省一些时间,让 ldap 在您的 grails 环境中与 Active Directory 一起工作。 重要文件 一旦您...
grails-微服务示例 展示了如何使用和在Java中构建微服务。 我为有多少样板感到惊讶。 Gradle项目文件,带有所有Hibernate批注的实体文件以及带有所有疯狂的,自定义的手动路由的Main类。 我可以通过创建一个空的...
此联系人管理器是一个用于管理联系人信息的示例应用程序。 新用户可以独立于其他用户创建自己的帐户并管理他们的个人联系人。 该应用程序是用 Grails 框架编写的,旨在完善我对该框架的理解。 安装: git 克隆 cd...
我使用的是 Grails 2.4.4 版。 下面是配置步骤。 步骤 1 - 通过编辑 conf 目录中的 BuildConfig.groovy 文件来安装 spring-security-core 插件。 plugins { // plugins for the build system only build ":tomcat:...
#ROCS 是一个初步开发的项目!# 该插件正在开发为 Grails 的电子商务平台。你需要什么为了使用这个平台,你需要: 一个数据库税务云ID 支付特权(Authorize.net 或 2Checkout 目前均受支持) 为了使用这个平台,你...
该项目的目标是尝试与《Grails 权威指南 2》一书一起编写代码,以便全面了解 Grails 框架。 事实证明这是一个很大的麻烦。 书中的许多例子与本书的源代码不同步,源代码本身也存在错误。 我确实给作者写过信,但...
在线学习 grails 使用 Groovy on Rails (Grails) 构建的 Web 应用程序。... 用户可以看到数据库中所有课程/用户的列表; 还有课程和用户的详细视图。... ...测试应用程序的示例... 该项目使用模型-视图-控制器 (MVC) 架构。
它是适用于Grails 2.4.x的(2.3版之前的Grails 2.x)项目的延续。 Spring Boot用于处理配置和引导。 参考 笔记 这是一个快速的实验,仅在JDK7 OSX上进行了测试。 被用作构建系统。 配置和数据 以下是该项目的...
支持 Oracle RAD、高级队列和高级数据类型JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库Examples - 示例程序、文档和图数据库Guidance - 高级...
它正在作为高级项目的一部分进行开发。 要求 运行应用程序需要以下依赖项: JDK 7 或 8 Grails 2.4.4(如果使用 Grails 包装器则不需要) MySQL 入门 通过执行以下命令克隆存储库: git clone git@github....
此仓库内的项目 jsonplaceholderclient :第三方库的示例。 的REST API的简单客户端 jsonplaceholder-sb-autoconfigure :Spring Boot自动配置模块 jsonplaceholder-spring-boot-starter :Spring Boot Starter用作...
NoSQL继续变得越来越流行,但是如何选择用于项目的技术呢? 本课程将涵盖NoSQL的基础知识,包括几种不同的类型(键值,图形和文档)以及优缺点。 会议结束时将回顾用于Redis和MongoDB的NoSQL解决方案的Groovy和...