Posted on 2009-10-13 10:40
David.Ko 阅读(1240)
评论(0) 编辑 收藏 所属分类:
Groovy&Grails
1、JDK安装。
2、到官网上下载grails。http://www.grails.org/Download
3、解压,配置GRAILS_HOME,Path
4、在命令行输入:grails。如果出现帮助信息,说明安装成功。
5、开始应用程序。
选择一个工作目录,在命令行输入:grails create-app demo。
会在当前目录下生成一个demo文件夹,里面有自动生成的好多文件,这就是一个grails项目。
The "create-app" target created a Grails data source artifact for you
in the "<..>/grails-app/conf" directory called DataSource.groovy
with closures for each of the standard environments: Development,
TestData, and Production.
这就是一个可运行的web项目。输入: grails run-app
在浏览器输入:http://localhost:8080/demo
6、cd 到demo目录,在命令行输入:
grails create-domain-class User,创建一个User实体类。
cd到demo\grails-app\domain目录下,这里存放所有的实体类。修改User.groovy文件为:
class User {
String name
String password
String toString() {
" $name : $password "
}
static constraints = {
name(blank: false )
password(blank: false , size: 6 .. 16 )
}
7、在命令行输入:
grails generate-all User。为User产生所有CRUD操作需要的代码(如控制器UserController.groovy)和页面(如list.gsp)
8、输入:grails create-controller Login生成控制器
9、修改demo\grails-app\controllers\LoginController.groovy的内容为:
class LoginController {
def loginService
def index = { }
def login = {
User u = new User()
u.properties = params
if (params.name && params.password) {
def user = loginService.check(u)
if (user) {
flash.message = "Welcome ${user.name}"
render(view: "ok", model: [user: user])
} else {
flash.error = "Invalid ${u.name} with ${u.password}"
render(view: "login", model: [user: u])
}
} else {
render(view: "login", model: [user: u])
}
}
}
10、输入:
grails create-service Login。创建业务逻辑。
11、修改demo\grails-app\services\LoginService.groovy的内容为:
class LoginService {
boolean transactional = true
def check(User u) {
def user = User.findWhere(name: u.name, password: u.password)
return user
}
def serviceMethod() {
// TODO
}
}
12、修改demo\grails-app\conf\ApplicationBootStrap.groovy,将一个User实例保存到数据库(grails自带hsqldb和jetty)中,内容如下:
class ApplicationBootStrap {
def init = { servletContext ->
new User(name: "demo", password: "123456").save()
}
def destroy = {
}
}
13、在“命令行”中,输入“grails run-app”,运行我们的Web应用
14、
打开浏览器,输入:http://localhost:8080/demo/login/login ,在Name处输入demo,Password处输入123456,点击‘Login’,