中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Groovy
Groovy轻松入门——Grails实战基础篇(3)
作者:佚名 时间:2007-12-11 18:20 出处:蛟龍居 责编:月夜寒箫
              摘要:Groovy轻松入门——Grails实战基础篇(3)

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
            }
            }
            
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有