科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Groovy轻松入门——Grails实战基础篇

Groovy轻松入门——Grails实战基础篇

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一

作者:山风小子 来源:蛟龍居 2007年11月18日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

4,在“命令行”中,输入“grails create-controller Login”,创建登陆(login)的控制器LoginController,它对应MVC中的Controller,让它负责登陆相关业务,输出如下:

D:\Temp\grails_apps\demo>grails create-controller Login

Welcome to Grails 0.4.2 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: D:\D\MY_DEV\grails

Base Directory: D:\Temp\grails_apps\demo
Environment set to production
Running script D:\D\MY_DEV\grails\scripts\CreateController.groovy
    [mkdir] Created dir: D:\Temp\grails_apps\demo\grails-app\views\login
     [copy] Copying 1 file to D:\Temp\grails_apps\demo\grails-app\controllers
Created Controller at D:\Temp\grails_apps\demo/grails-app/controllers/LoginContr
oller.groovy
     [copy] Copying 1 file to D:\Temp\grails_apps\demo\grails-tests
Created ControllerTests at D:\Temp\grails_apps\demo/grails-tests/LoginController
Tests.groovy
D:\Temp\grails_apps\demo>

5,修改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])
        }
    }
}

大家或许也看到了LoginService这个类,我将在后面演示创建它,这个LoginService类封装了所有登陆相关的业务逻辑,Grails自动将其注入到LoginController中。

6,在“命令行”中,输入“grails create-service Login”,创建LoginService.groovy,输出:

D:\Temp\grails_apps\demo>grails create-service Login

Welcome to Grails 0.4.2 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: D:\D\MY_DEV\grails

Base Directory: D:\Temp\grails_apps\demo
Environment set to production
Running script D:\D\MY_DEV\grails\scripts\CreateService.groovy
     [copy] Copying 1 file to D:\Temp\grails_apps\demo\grails-app\services
Created Service at D:\Temp\grails_apps\demo/grails-app/services/LoginService.gro
ovy
     [copy] Copying 1 file to D:\Temp\grails_apps\demo\grails-tests
Created ServiceTests at D:\Temp\grails_apps\demo/grails-tests/LoginServiceTests.
groovy
D:\Temp\grails_apps\demo>

7,修改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
    }
}
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章