首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Grails控制器和视图外部引用Grails域类字段?

在Grails中,从控制器和视图外部引用Grails域类字段的方法如下:

  1. 首先,确保你已经创建了域类。例如,我们有一个名为Person的域类,其中有一个字段name
代码语言:groovy
复制
class Person {
    String name
}
  1. 在控制器中,你可以使用Person.get()方法获取Person实例,并访问其字段。例如,要在控制器中获取Personname字段,你可以这样做:
代码语言:groovy
复制
def personInstance = Person.get(id)
def name = personInstance.name
  1. 在视图中,你可以直接访问personInstance变量的name属性。例如,要在视图中显示Personname字段,你可以这样做:
代码语言:html
复制
<p>${personInstance.name}</p>
  1. 如果你需要在多个视图或控制器中访问域类字段,可以考虑创建一个公共的服务类,该类可以包含一个方法来获取域类字段。然后,你可以在需要的地方注入该服务类并调用其方法。例如:
代码语言:groovy
复制
class CommonService {
    String getPersonName(Person person) {
        return person.name
    }
}

在控制器中:

代码语言:groovy
复制
def commonService

def someAction() {
    def personInstance = Person.get(id)
    def name = commonService.getPersonName(personInstance)
}

在视图中:

代码语言:html
复制
<p>${commonService.getPersonName(personInstance)}</p>

这样,你就可以在Grails控制器和视图外部引用Grails域类字段了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

在 Groovy 中,不再需要为字段编写 getter setter 方法,因为 Groovy 会自动提供它们。...run-app运行工程,区别是grails会下载外部gradle包,配置的gradle环境不是本地机器): gradle bootRun 你将看到类似如下启动日志: 02:18:02: Executing...脚手架自动生成Controller层,视图View层代码 grails的脚手架控制值相当简易,简单易用。...的Controller,以及对应的视图view模板代码 下面我们就使用grails generate-all来创建Project,Milestone的Controller,以及视图。...对控制器的理解可以归结为三个 R:return、redirect render。有些动作利用隐式的 return 语句将数据返回到具有相同名称的 GSP 页面。有些动作进行重定向。

2.5K30

8.2 Spring Boot集成Groovy、Grails开发小结参考资料

在 Groovy 中,不再需要为字段编写 getter setter 方法,因为 Groovy 会自动提供它们。...run-app运行工程,区别是grails会下载外部gradle包,配置的gradle环境不是本地机器): gradle bootRun 你将看到类似如下启动日志: 02:18:02: Executing...脚手架自动生成Controller层,视图View层代码 grails的脚手架控制值相当简易,简单易用。...的Controller,以及对应的视图view模板代码 下面我们就使用grails generate-all来创建Project,Milestone的Controller,以及视图。...对控制器的理解可以归结为三个 R:return、redirect render。有些动作利用隐式的 return 语句将数据返回到具有相同名称的 GSP 页面。有些动作进行重定向。

2.3K30
  • Groovy on Grails 交流活动

    你当然也可以写一些简单的 Java 并将其对象持久化在数据库里,也可以像在 Java 中一样将源文件或 JAR 包引入应用程序,例如 EJB、Spring bean 等等。...“脚手架” 即是可以自动生成控制器视图之增删改代码的样板控制器。对控制器视图的显式重建通常毫无必要,除非你不愿应用动态脚手架的功能。...接下去,当然,如果你愿意的话,你可以生成个性化的控制器视图代码。 “Grails 其它框架一样,最终总有局限性。”...我将 “Grails 现状” 作为周四晚上的主题, Grails1.0 发布以来不断发展技术的双重角度进行了分析。...我本不打算发布幻灯片,但一些与会人士向我索取幻灯片,以便于能从不单单的技术角度,更能谈到发展社区的角度,去说服经理们对 Grails 的使用。

    1.7K20

    JAVA常用框架及漏洞

    AOP(面向切面编程):通过预编译方式运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。即系统级的服务代码中解耦出来。...DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller...Hibernate SQL注入漏洞、 JSF介绍: JSF 的主要优势之一就是它既是 Java Web 应用程序的用户界面标准又是严格遵循模型-视图控制器 (MVC) 设计模式的框架。...用户界面代码(视图)与应用程序数据逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。...Grails数据绑定安全绕过漏洞 Play介绍: Play是一款开源、轻量、无状态、Web友好的架构,使用Java语言编写并遵循MVC模式,集成了当今Web开发所需的组件API。

    3.4K20

    Java 近期新闻:JDK 2 进入Rampdown阶段一、JDK 24专家组成立、Apache NetBeans 22发布

    (第三次预览) JEP 480: 结构化并发(第三次预览) JEP 481: 作用值(第三次预览) JEP 482: 灵活的构造函数体(第二次预览) 有关这些新特性的更多详细信息,请参阅 InfoQ...Clark Goetz 将担任规范负责人。其他重要日期包括 2024 年 12 月到 2025 年 2 月的公开评审 2025 年 3 月的 GA 版本发布。...这是持续性工作的一部分,旨在从 Spring Shell 核心包中删除所有 Spring Boot 。该版本基于 Spring Boot 3.3.0 JLine3.26.1。...maxParameters字段可配置。...概述社区贡献机会,明确个人和组织如何为 MVP 的开发做出贡献。 强调贡献方法,贡献可能以各种形式出现,例如有些组织可能选择贡献工程资源,有些可能选择为核心开发团队提供财务支持。

    14610

    简洁、高效、灵活:探索 Spring 同级别的编程框架

    基于 Spring Boot 构建的控制器层。 具有数百个插件的插件系统。 可以使用灵活的配置创建 AngularJS、React等程序 。 基于 Gradle 交互式命令行构建系统环境。...数据库的对象映射实现 GORM for MongoDB MongoDB数据库的对象映射实现 GORM for Neo4j Neo4j图形数据库的对象映射实现 JSON Views 用于在服务器端呈现 JSON 的视图技术...Groovy Server Pages 用于在服务器上呈现 HTML 其他标记的视图技术 Async Framework 异步编程抽象,支持 RxJava、GPars 等 Micronaut Micronaut...由Grails框架的创建者开发,并从多年来使用Spring、Spring BootGrails构建单体到微服务的实际应用程序中汲取灵感。...最好的标准:Quarkus提供了一个有凝聚力的、有趣的、全栈式的框架,它利用了各类不断增长的50多个你喜欢使用的最好的库。所有这些都在一个标准的主干上。

    76750

    在您的浏览器中构建和共享开发者环境

    将桌面连接到云 Codenvy已经发布了其CLI(命令行)工具,可以您的本地桌面管理远程Codenvy工作空间。首先,这是一个触发远程构建和运行进程的能力。...Codenvy工作区中的每项服务都是RESTful风格,可以直接外部”使用。CLI调用特定的API方法来调用云中的特定进程。...还记得我们答应详述一键共享使用开发者环境吗?这并不是一个营销诱饵。想象一下,您已完成为您的Grails项目构建自定义运行时,并希望其他人使用它。...那就是,不用写一个关于“如何试用一个特定框架”的长篇指南和教程,而只用发布这样一个Factory按钮。你的用户只需要一个浏览器。不用下载。不用安装。也不用设置环境偏好。 一个项目。复杂的环境。...如果你知道如何配置MongoDB以安装Leiningen,而且不需要经常翻阅他们的文档,那应该需要1个小时。点击下面这个按钮,就能身处于专门为这个特定项目建立的环境中。

    1.8K70

    创业公司技术选型原则

    在重点去谈创业公司如何做技术选型之前,咱们先来看看技术选型的一般性原则。...这里的支持可以来自于两方面:外部内部。能够方便地获得外部支持一方面说明了项目的普及程度,另一方面也反映了项目的活跃程度。...即使有很好的外部支持,也不意味着就应该放弃内部支持能力的建立。原因很简单,随着使用的深入业务的发展,迟早会遇到自己公司特有的需求,而这个需求还没有广泛到外部就可以直接获得很好地支持。...创业公司如何进行技术选型? 技术选型工作并不会因为创业公司就变得轻松,相反,由于创业公司本身的不确定性阶段性,反而有其独有的特点,在不同阶段对于上述原则的优先程度取舍也会有所变化。...历史渊源来讲,Grails本身就构建于Spring之上,同时曾经也被SpringSource收购,作为其工具链的一员。

    2.1K20

    《Groovy极简教程》第1章 Groovy简介《Groovy极简教程》第1章 Groovy简介参考资料

    基本特点 1、 构建在强大的Java语言之上 并 添加了Python,RubySmalltalk等语言中学到的 诸多特征,例如动态类型转换、闭包元编程(metaprogramming)支持。。...15、不支持default作用,且默认作用为public。 16、groovy中基本类型也是对象,可以直接调用对象的方法。...许多 Java 开发人员喜欢 Groovy 代码 Java 代码的相似性。学习的角度看,如果知道如何编写 Java 代码,那就已经了解 Groovy 了。...Grails 一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate其它标准Java框架之上,从而为大家带来一套能实现超高生产力的一站式框架。...groovy文件的内容被打包进run方法,另外在新产生的中被加入一个main方法以进行外部执行该脚本。

    1.3K20

    比 MyBatis 效率快 100 倍的条件检索引擎,天生支持联表!

    集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...约定优于配置,可省略注解,可复用原有,同时支持自定义注解 支持 多数据源 分库分表?...支持 字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则 5 技术选型 框架目的:只一行代码实现...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate mybatis、data-jdbc 等等 ORM 的强项...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    1.1K20

    Rails框架流行在他的设计理念

    2、Convention Over Configuration --约定高于配置 Rails几乎成了敏捷web框架的代名词,Java社区的Grails,.NET开源项目Mono RailsSubsonic...Model字段名,表中必须有叫做ID的整形字段作为key等等很直觉的约定。...SubSonic项目Castle的ActiveRecord的子项目,由于.net静态语言的原因,在动态特性的实现上没有RoR中那么灵活,它基于.net中的attribute来标识字段关系,SubSonic...他们的设计模式都是ActiveRecord,ActiveRecord做CRUD很简单,每个对象可以有自己的Fetch,FetchByxxx方法,开发者的角度看这些对象,它们知道如何加载保存自己,对象自己来维护...,Castle 框架spring.net,MS企业库都有log,还有一个更通用的Log库,可参看通用日志 5、Mails: 对一个web应用,log是很常用的,Castle框架里面的支持很全面,邮件模板到

    2K50

    Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、新的 JEP 草案

    中交付;JEP 424,外部函数内存 API(预览版),在 JDK 19 中发布;JEP 434,外部函数内存 API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数内存...这为final字段提供了性能安全优势,同时在初始化时间方面提供了更大的灵活性。该特性将作为预览版 API 首次亮相。...Grails Grails 基金会发布了 Grails 的 6.0 版本,它提供了:最小的 JDK 11 版本;对 Spring Framework 5.3.28、Spring Boot 2.7.12...;在InputNumber中添加selectOnFocus()caretPositionOnFocus()方法;以及在OverlayPanel中添加了缓存属性。...Micronaut 基金会已将其聊天社区 Gitter转移 到 Discord,并且立即生效。该基金会表示,Discord 提供了改进的桌面应用程序体验、更好的结构化对话增强的通知。

    19330

    比 MyBatis 效率快 100 倍...

    扩展支持 多数据源 与 动态数据源支持 注解缺省 与 自定义支持 字段运算符 扩展等等快速开发使用 Bean Searcher 可以极大节省后端的复杂列表检索接口的开发时间集成简单可以任意 Java...Web 框架集成,如:SpringBoot、Grails、Jfinal 等扩展性强面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件支持 注解缺省约定优于配置,可省略注解,可复用原有...在这里特别简单,告别分库分表带来的代码熵值增高问题支持 Select 指定字段同一个实体,可指定只 Select 其中的某些字段,或排除某些字段支持 参数过滤器支持添加多个参数过滤器,可自定义参数过滤规则支持...字段转换器支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则支持 SQL 拦截器支持添加多个 SQL 拦截器,可自定义 SQL 生成规则5 技术选型框架目的:只一行代码实现:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计架构图...普通的复杂列表查询只需一行代码单表检索可复用原有 Domain,无需定义 SearchBean集成简单可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    11710

    Groovy、热部署热加载(自定义加载器)及spring loaded 部分源码分析

    热加载热部署的联系 1.不重启服务器。 2.基于Java加载器实现。...表面上来看没有什么问题,但实际你加载的对象原来的对象是两个对象,spring loaded是如何将通过热加载的文件重新指向之前的对象应该是一个要思考的问题。...根据网上的文章和实现方式,自己心里有疑问,网上的几个例子来看,要实现的热部署的过程好像加载器没有什么关系,但自己又有疑问那为什么要自己实现加载器?  ...网上的一些回答 除了本地或是网上加载文件,还可以用加载器来: 在执行不受信任的代码之前自动验证数字签名 使用用户提供的密码透明的解密代码 根据用户的特定需求创建自定义的动态 额外拓展Grails...首先,它定义watchedResources为包含要监视的资源的引用或模式的字符串或字符串列表。

    3.3K00

    比 MyBatis 快了 100 倍

    集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...约定优于配置,可省略注解,可复用原有,同时支持自定义注解 支持 多数据源 分库分表?...支持 字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则 5、技术选型 框架目的:只一行代码实现...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate mybatis、data-jdbc 等等 ORM 的强项,...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    21510

    比 MyBatis 快 100 倍,天生支持联表!

    集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件...支持 注解缺省 约定优于配置,可省略注解,可复用原有,同时支持自定义注解 支持 多数据源 分库分表?...支持 字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则 5 技术选型 框架目的...:只一行代码实现:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate mybatis、data-jdbc 等等...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    92240

    比 MyBatis 效率快 100 倍...

    集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...约定优于配置,可省略注解,可复用原有,同时支持自定义注解 支持 多数据源 分库分表?...支持 字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则 5、技术选型 框架目的:只一行代码实现...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate mybatis、data-jdbc 等等 ORM 的强项,...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    13310

    比 Mybatis 效率高 100倍,天生支持联表!

    集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...约定优于配置,可省略注解,可复用原有,同时支持自定义注解 支持 多数据源 分库分表?...支持 字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则 技术选型 框架目的 只一行代码实现:...多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate mybatis、data-jdbc 等等 ORM 的强项,...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    92310

    比MyBatis快100倍,天生支持联表!

    功能概述 特性如下: 支持实体多表映射 支持动态字段运算符 支持分组聚合、查询 支持Select | Where | From 子查询 支持实体嵌入参数 支持字段转换器 支持 Sql 拦截器 支持数据库...| 集成简单 可以任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等。...| 支持注解缺省 约定优于配置,可省略注解,可复用原有,同时支持自定义注解。 | 支持多数据源 分库分表?在这里特别简单,告别分库分表带来的代码熵值增高问题。...| 支持 Select 指定字段 同一个实体,可指定只 Select 其中的某些字段,或排除某些字段。 | 支持参数过滤器 支持添加多个参数过滤器,可自定义参数过滤规则。...| 支持字段转换器 支持添加多个字段转换器,可自定义数据库字段到实体字段的转换规则。 | 支持 SQL 拦截器 支持添加多个 SQL 拦截器,可自定义 SQL 生成规则。

    1.1K20

    2016 年 7 个最佳的 Java 框架

    Struts 2 为了更详细地阐述为现代软件工程师广泛使用的现有Java框架,我们决定引用Apache的Struts 1(Struts 2)的后续版本。...优点缺点 当你问自己为什么应该考虑Struts 2的时候,那就想想不必重写或实现Action的奢侈——它已经就位了!...它是一个持久性的概念——利用Hibernate缓存将数据Java环境持久化到数据库。 ? 优点缺点 Hibernate允许你使用你写的代码中的微小变化与任何数据库通信,弥合对象关系词之间的差距。...此外,在你使用Java EE环境之时,你会发现JSF没有外部依赖,反而提供了大量功能。...尽管Grails是一个全栈开发的Java框架,但它还有一个Grails的对象关系映射覆盖的庞大功能,使其成为了一个相对笨重的软件。 那么选择什么呢?

    1.5K10
    领券