`
princeicelk
  • 浏览: 37641 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Groovy on rails 入门 (C -1)

阅读更多

     Grails中的跳转页面大概有以下几种方式:

1. return model

  1. def show = {   
  2.     def b = Book.get( params['id'] )   
  3.     return [ book : b ]   
  4. }  

没有显式返回model时,action会自动把当前controller的property当作model返回,而模版的地址则为<...>/controller/action.gsp

2. return view

  1. import org.springframework.web.servlet.ModelAndView   
  2.   
  3. ...   
  4.   
  5. def index = {   
  6.     def favBooks = // get some books just for the index page, perhaps your favorites   
  7.   
  8.     // forward to the list view to show them   
  9.     return new ModelAndView("/book/list", [ bookList : favBooks ])   
  10. }  

3. redirect

  1. redirect(action:list)  

当跳转到另一个controller的action时,最好使用这种方式,也可以带参数,如:

  1. redirect(controller:'apartment',action:'show',id:apartment.id)  

4. render

  1. // write some markup   
  2. render {   
  3.    for(b in books) {   
  4.       div(id:b.id, b.title)   
  5.    }   
  6. }   
  7. // render a specific view   
  8. render(view:'show')   
  9. // render a template for each item in a collection   
  10. render(template:'book_template', collection:Book.list())   
  11. // render some text with encoding and content type   
  12. render(text:"<!---->,contentType:"text/xml",encoding:"UTF-8")  

     Grails中变量的scope分类和传统的jsp大致相同,分为servletContext, session, request, flash. 比较新颖的是flash,意思是在当前request和下一个request中保持,这样一来处理消息和错误就非常方便了。

  1. def findBy = params["findBy"]
  2. def appContext = servletContext["appContext"]
  3. def loggedUser = session["logged_user"]
  4. flash['message'] = "User not found for id ${params['id']}"  

    因此,request的信息,grails不会像OGNL那样设置到controller中去,而要从params里面取,比如params.id 。

分享到:
评论

相关推荐

    Groovy&Grails - 指南.ppt

    Groovy 与 Ruby on Rails (ROR) 比较 1: Groovy 和 Grails 与 Ruby on Rails 一样,都追求开发效率和简洁性,但它们建立在不同的语言基础之上。Ruby on Rails 是基于 Ruby 语言,而 Grails 则是基于 Groovy。虽然 ...

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

    Grails则是一个构建于Groovy之上的开源Web应用框架,它借鉴了Ruby on Rails的设计模式,提供了快速开发的能力,强调代码的简洁性和可读性。 在“Groovy轻松入门—Grails实战基础篇”中,我们将探讨以下几个关键知识...

    最新 groovy开发包

    它是基于Groovy构建的,提供了一种快速开发Web应用的方式,借鉴了Ruby on Rails的许多理念。通过GORM(Grails Object-Relational Mapping)和Grails Command Line Interface(CLI),开发者可以高效地创建数据库驱动...

    grails快速开发web

    - **轻松入门系列**:介绍了如何搭建 Grails 开发环境、通过与 Java 的比较快速掌握 Groovy 语法,以及 Grails 实战基础。 - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中...

    学编程选什么语言好?是PHP、Python还是Ruby?

    最后,Ruby是一种动态的面向对象编程语言,其最著名的是Ruby on Rails(Rails)框架,该框架极大地简化了Web应用的开发过程,被誉为快速开发的典范。Ruby语言的语法灵活,开发者可以有多种方式编写同一功能,这虽然...

    Grails in Action - Presentation

    - **借鉴Rails原则**:Grails吸取了Ruby on Rails的成功经验,并将其应用到Java平台上。 - **约定优于配置**:减少显式配置的需求,让开发过程更加流畅高效。 - **避免重复工作**:通过内置机制确保代码的复用性和可...

    Grails入门教程(一)

    它们通常映射到数据库表,并通过GORM(Groovy on Rails Object Mapping)提供对这些表的操作能力。例如,如果有一个博客应用,可能会有`Post`和`Comment`这样的域对象。 - **控制器(Controller)**:控制器负责处理...

    Grails in Action

    - **简介**:Grails是基于Groovy的一种快速开发框架,其设计理念深受Ruby on Rails的影响,强调约定优于配置(Convention over Configuration)的原则。 - **主要特点**: - **自动代码生成**:Grails提供了强大的...

    Grails基础教程

    - **吸取的经验教训**:Grails借鉴了Ruby on Rails的成功经验,同时结合Java生态系统的优点,为开发者提供了一种高效、灵活且易于使用的开发方式。 **1.5 使用Grails的原因** - **生产力高**:Grails通过减少代码...

    grails敏捷开发

    它借鉴了Ruby on Rails的许多优秀理念,同时提供了Java平台的强大功能和兼容性。在本文中,我们将深入探讨Grails的安装、应用程序创建、核心概念以及其在敏捷开发中的应用。 ### 1. 安装Grails 安装Grails通常涉及...

Global site tag (gtag.js) - Google Analytics