Grails中的跳转页面大概有以下几种方式:
1. return model
- def show = {
- def b = Book.get( params['id'] )
- return [ book : b ]
- }
没有显式返回model时,action会自动把当前controller的property当作model返回,而模版的地址则为<...>/controller/action.gsp
2. return view
- import org.springframework.web.servlet.ModelAndView
-
- ...
-
- def index = {
- def favBooks =
-
-
- return new ModelAndView("/book/list", [ bookList : favBooks ])
- }
3. redirect
当跳转到另一个controller的action时,最好使用这种方式,也可以带参数,如:
- redirect(controller:'apartment',action:'show',id:apartment.id)
4. render
-
- render {
- for(b in books) {
- div(id:b.id, b.title)
- }
- }
-
- render(view:'show')
-
- render(template:'book_template', collection:Book.list())
-
- render(text:"<!---->,contentType:"text/xml",encoding:"UTF-8")
Grails中变量的scope分类和传统的jsp大致相同,分为servletContext, session, request, flash. 比较新颖的是flash,意思是在当前request和下一个request中保持,这样一来处理消息和错误就非常方便了。
- def findBy = params["findBy"]
- def appContext = servletContext["appContext"]
- def loggedUser = session["logged_user"]
- flash['message'] = "User not found for id ${params['id']}"
因此,request的信息,grails不会像OGNL那样设置到controller中去,而要从params里面取,比如params.id 。
分享到:
相关推荐
Groovy 与 Ruby on Rails (ROR) 比较 1: Groovy 和 Grails 与 Ruby on Rails 一样,都追求开发效率和简洁性,但它们建立在不同的语言基础之上。Ruby on Rails 是基于 Ruby 语言,而 Grails 则是基于 Groovy。虽然 ...
Grails则是一个构建于Groovy之上的开源Web应用框架,它借鉴了Ruby on Rails的设计模式,提供了快速开发的能力,强调代码的简洁性和可读性。 在“Groovy轻松入门—Grails实战基础篇”中,我们将探讨以下几个关键知识...
它是基于Groovy构建的,提供了一种快速开发Web应用的方式,借鉴了Ruby on Rails的许多理念。通过GORM(Grails Object-Relational Mapping)和Grails Command Line Interface(CLI),开发者可以高效地创建数据库驱动...
- **轻松入门系列**:介绍了如何搭建 Grails 开发环境、通过与 Java 的比较快速掌握 Groovy 语法,以及 Grails 实战基础。 - **实战技巧**:包括 GORM (Groovy Object Relational Mapping) 的使用、如何在 Grails 中...
最后,Ruby是一种动态的面向对象编程语言,其最著名的是Ruby on Rails(Rails)框架,该框架极大地简化了Web应用的开发过程,被誉为快速开发的典范。Ruby语言的语法灵活,开发者可以有多种方式编写同一功能,这虽然...
- **借鉴Rails原则**:Grails吸取了Ruby on Rails的成功经验,并将其应用到Java平台上。 - **约定优于配置**:减少显式配置的需求,让开发过程更加流畅高效。 - **避免重复工作**:通过内置机制确保代码的复用性和可...
它们通常映射到数据库表,并通过GORM(Groovy on Rails Object Mapping)提供对这些表的操作能力。例如,如果有一个博客应用,可能会有`Post`和`Comment`这样的域对象。 - **控制器(Controller)**:控制器负责处理...
- **简介**:Grails是基于Groovy的一种快速开发框架,其设计理念深受Ruby on Rails的影响,强调约定优于配置(Convention over Configuration)的原则。 - **主要特点**: - **自动代码生成**:Grails提供了强大的...
- **吸取的经验教训**:Grails借鉴了Ruby on Rails的成功经验,同时结合Java生态系统的优点,为开发者提供了一种高效、灵活且易于使用的开发方式。 **1.5 使用Grails的原因** - **生产力高**:Grails通过减少代码...
它借鉴了Ruby on Rails的许多优秀理念,同时提供了Java平台的强大功能和兼容性。在本文中,我们将深入探讨Grails的安装、应用程序创建、核心概念以及其在敏捷开发中的应用。 ### 1. 安装Grails 安装Grails通常涉及...