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

如何在list.gsp中显示链接表的值而不是id?Grails

在Grails中,如果你想在list.gsp视图中显示链接表的值而不是id,你可以使用Grails的关联映射和GORM(Grails对象关系映射)功能来实现。

首先,确保你的领域类(Domain Class)中正确地定义了关联关系。假设你有一个领域类Book,其中包含一个关联到Author的属性author,你可以使用belongsTo关键字来定义这个关联关系:

代码语言:groovy
复制
class Book {
    String title
    Author author

    static belongsTo = [author: Author]
}

接下来,在list.gsp视图中,你可以使用Grails的标签库来显示关联表的值。使用g:link标签来创建链接,然后使用g:fieldValue标签来显示关联表的属性值。在这个例子中,你可以这样做:

代码语言:html
复制
<table>
    <thead>
        <tr>
            <th>Title</th>
            <th>Author</th>
        </tr>
    </thead>
    <tbody>
        <g:each in="${bookList}" var="book">
            <tr>
                <td>${book.title}</td>
                <td>
                    <g:link controller="author" action="show" id="${book.author.id}">
                        <g:fieldValue bean="${book}" field="author.name" />
                    </g:link>
                </td>
            </tr>
        </g:each>
    </tbody>
</table>

在上面的代码中,${book.author.id}用于获取关联表Author的id,然后将其作为链接的参数传递给g:link标签。<g:fieldValue bean="${book}" field="author.name" />用于显示Authorname属性值。

这样,当你在list.gsp中渲染书籍列表时,将显示关联表Author的名称而不是id。

对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求选择适合的云计算服务,例如云数据库、云服务器、云存储等。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务。

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

相关·内容

Greenplum 实时数据仓库实践(2)——数据仓库设计基础

空值代表未知,无法进行比较。如果允许空值作为主键的一部分,就意味着并不是所有的列都用来区分记录,这与主键的定义矛盾,因此主键必须是非空的。...在图2-1中,员工表中的所属分公司是外键。该列的值要么是分公司表的分公司编号列中的值,要么是空(如新员工已经加入了公司,但还没有被分派到某个具体的分公司时)。...例如,员工表的一个候选键是{id,mobile,deptNo},而deptName依赖于{deptNo},同样name仅依赖于{id},因此不是2NF的。...尽管关系模型对于事务处理系统表现非常出色,但它并不是面向最终用户的。 事实和维度是两个维度模型中的核心概念。事实表示对业务数据的度量,而维度是观察数据的角度。...将维度表进行规范化的具体做法是,把低基数的属性从维度表中移除并形成单独的表。基数指的是一个字段中不同值的个数,如主键列具有唯一值,所以有最高的基数,而象性别这样的列基数就很低。

1.9K30

在你的浏览器中构建和共享开发人员环境

如何点击一个按钮,并在一个预先配置的开发环境找到自己,动动手指就可以让IDE拥有丰富的编辑工具和项目资源?如何在本地开发,但在云中编译和运行项目?好的,第一件事情是首要的。...一般工作流程可能如下所示: 拉一个项目>在本地IDE中进行更改>将更改推回到云>触发远程编译或运行 将你的桌面与云结合使用,而不是代替你的桌面。...在Codenvy中构建Dockerfile与在本地构建Dockerfile没有区别——都是相同的指令,相同的规则,相同的输出。还有几个特定的Codenvy功能,如项目源注入到映像。...想象一下,你已经为你的Grails项目构建自定义的运行时系统,并希望其他人使用它。针对这个问题来说,邀请别人到你的工作区不是一个解决办法,尤其是如果你并不认识他们中的任何一个。...对于尝试一个新的技术或项目来说,这不是矫枉过正吗?你需要多少时间来安装所有东西,并且真正地运行项目?

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

    Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其干脆的API设计,合理的默认值以及约定架构。与java的无缝集成使得这个框架成为世界上众多框架中的首选。...一系列强大的特性,如基于sping的依赖注入和各式各样的插件,可以提供创建现代基于web的app的所有需要的东西。 我们使用Grails框架。...2.创建一个 GRAILS_HOME 环境变量。 3.将 $GRAILS_HOME/bin 添加到 PATH中。 如果你的电脑上有SDKMAN!...run-app运行工程,区别是grails会下载外部gradle包,配置的gradle环境不是本地机器): gradle bootRun 你将看到类似如下启动日志: 02:18:02: Executing...脚手架自动生成Controller层,视图View层代码 grails的脚手架控制值相当简易,简单易用。

    2.5K30

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

    Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其干脆的API设计,合理的默认值以及约定架构。与java的无缝集成使得这个框架成为世界上众多框架中的首选。...一系列强大的特性,如基于sping的依赖注入和各式各样的插件,可以提供创建现代基于web的app的所有需要的东西。 我们使用Grails框架。...2.创建一个 GRAILS_HOME 环境变量。 3.将 $GRAILS_HOME/bin 添加到 PATH中。 如果你的电脑上有SDKMAN!...run-app运行工程,区别是grails会下载外部gradle包,配置的gradle环境不是本地机器): gradle bootRun 你将看到类似如下启动日志: 02:18:02: Executing...脚手架自动生成Controller层,视图View层代码 grails的脚手架控制值相当简易,简单易用。

    2.3K30

    【总结】Data Vault数据建模过程及举例

    为了达到这点,就应该假设系统源是不可知的,所以中心表应该依赖于实际的业务逻辑标识,而不是使用代理键。...在Data Vault模型中所有的 关系和事件都是通过链接表来表示。在DV模型中,中心表没有外键,对于中心表间的连接是通过链接表。所以链接表至少要有两个父中心表。...转换链接表 (1)把源库中没有入边且有两条或两条以上出边的实体直接转换成链接表 把订单明细转换成链接表 (2)把源库中除第一步以外的外键关系转换成链接表。...订单和客户之间建立链接表,产品和产品类型之间建立链接表。注意Data Vault模型中的每个关系都是多对多关系。...转换附属表 附属表为中心表和链接表补充属性。所有源库中用到的表的非键属性都要放到Data Vault模型中。

    3.1K00

    C++ 不知图系列之基于链接表的无向图最短路径搜索

    链接表 链接表的存储思路: 使用链接表实现图的存储时,有主表和子表概念。 主表: 用来存储图对象中的所有顶点数据。 子表: 每一个顶点自身会维护一个子表,用来存储与其相邻的所有顶点数据。...1.1 存储实现 1.1.1 项点类 因顶点本身是具有特定的数据含义(如,可能是城市、公交车站、网址、路由器……),需要一个顶点类承载顶点的有效数据。并在顶点类中提供维护自身信息的函数。...Vertex * findVertexByValue(T value); //按编号查找顶点 Vertex * findVertexById(int id); //显示所有顶点...当然,需求不同,衡量一个路径是不是最短路径的标准也会不同。...如打开导航系统后,最短路径可能是费用最少的那条、可能是速度最快的那条、也可能是量程数最少的或者是红绿灯最少的…… 在无权无向图中,以经过的边数最少的路径为最短路径。

    1.3K20

    我是如何成为一个JavaWeb开发者的

    所谓“前端”,我指的是众多浏览器端技术——HTML、CSS、Java,以及Java模板技术,如Thymeleaf、SiteMesh,或者古老的JSPs。...这是用来显示页面样式的。它控制字体、颜色和布局。与HTML定义的是网页的内容不同,CSS定义的是当在浏览器中呈现时网页的外观。...你要从数据库中得到内容,以显示在网页上,或从用户那里接收内容存储到数据库中。所以,Javaweb开发人员需要知道如何使用JPA。   ...这些被部署到应用程序服务器,如Tomcat,以此为你的web应用程序提供运行环境。十年以前,还流行在应用程序和应用程序服务器之间应用更复杂的耦合。...我不是SpringRoo的的粉丝,并且我最后一次使用SpringRoo也不是因为市场要求。SpringRoo还没有被广泛接受。   Play   基于Scala的框架。虽然我还没有尝试过Play。

    96310

    Python 图_系列之基于实现无向图最短路径搜索

    链接表 链接表的存储思路: 使用链接表实现图的存储时,有主表和子表概念。 主表: 用来存储图对象中的所有顶点数据。 子表: 每一个顶点自身会维护一个子表,用来存储与其相邻的所有顶点数据。...链接表的优点是能够紧凑地表示稀疏图。 在 Python 中可以使用列表嵌套实现邻接表,这应该是最简单的表达方式。...,并不适合于开发环境,因顶点本身是具有特定的数据含义(如,可能是城市、公交车站、网址、路由器……),且以上存储方案让顶点和其相邻顶点的信息过度耦合,在实际运用时,会牵一发而动全身。...vert.v_id = self.v_nums # 所有顶点保存在图所维护的字典中,以顶点名为键,顶点对象为值 self.vert_list[vert.v_name...所有顶点保存在一个字典中,以顶点名称为键,顶点对象为值。也可以使用列表直接保存顶点,根据需要决定。

    93240

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

    集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项...例如,这样的一个典型的需求: 后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以: 只一行代码实现以上功能 首先,你有一个实体类: @SearchBean(tables="user u, role r", joinCond="u.role_id...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    1.1K20

    我是如何成为一个JavaWeb开发者的

    所谓“前端”,我指的是众多浏览器端技术——HTML、CSS、Java,以及Java模板技术,如Thymeleaf、SiteMesh,或者古老的JSPs。...这是用来显示页面样式的。它控制字体、颜色和布局。与HTML定义的是网页的内容不同,CSS定义的是当在浏览器中呈现时网页的外观。...你要从数据库中得到内容,以显示在网页上,或从用户那里接收内容存储到数据库中。所以,Javaweb开发人员需要知道如何使用JPA。   ...这些被部署到应用程序服务器,如Tomcat,以此为你的web应用程序提供运行环境。十年以前,还流行在应用程序和应用程序服务器之间应用更复杂的耦合。...我不是SpringRoo的的粉丝,并且我最后一次使用SpringRoo也不是因为市场要求。SpringRoo还没有被广泛接受。   Play   基于Scala的框架。虽然我还没有尝试过Play。

    88810

    比 MyBatis 效率快 100 倍...

    Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等扩展性强面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件支持 注解缺省约定优于配置,可省略注解...:为什么用这绝不是一个重复的轮子虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项,但查询,特别是有 多条件、联表、分页、排序 的复杂的列表查询,却一直是它们的弱项...例如,这样的一个典型的需求:后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以:只一行代码实现以上功能首先,你有一个实体类:@SearchBean(tables="user u, role r", joinCond="u.role_id =...普通的复杂列表查询只需一行代码单表检索可复用原有 Domain,无需定义 SearchBean集成简单可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    11910

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

    只需点击一个按钮,就能身处于在一个预先配置的开发环境中,而且IDE中丰富的编辑工具和项目资源尽在指尖,是不是很不错呢?在本地开发,但在云中构建和运行项目,又是怎样的一种体验呢?...这使得Codenvy与桌面IDE的协同工作非常方便。一般工作流程可能如下所示: 拉取一个项目>在本地IDE中进行更改>将更改推送回云端>触发远程构建或运行 使用云搭配您的桌面,而不是取代它。...在Codenvy中构建Dockerfile与在本地构建Dockerfile没有什么区别 - 相同的指令,相同的规则,相同的输出。有几个Codenvy特定的功能,如注入项目源到图像。...想象一下,您已完成为您的Grails项目构建自定义运行时,并希望其他人使用它。邀请别人到您的工作区在这里不是一个好的解决方案,尤其是当你并不认识他们的时候。比如,你想与您的博客受众分享。...用户可以将项目保存到其持有的Codenvy帐户中,或者注册并跟进项目。好处是什么?那就是,不用写一个关于“如何试用一个特定框架”的长篇指南和教程,而只用发布这样一个Factory按钮。

    1.9K70

    比 MyBatis 快了 100 倍

    集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项,...例如,这样的一个典型的需求: 后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以: 只一行代码实现以上功能 首先,你有一个实体类: @SearchBean(tables="user u, role r", joinCond="u.role_id...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    22610

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

    集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件...在这里特别简单,告别分库分表带来的代码熵值增高问题 支持 Select 指定字段 同一个实体类,可指定只 Select 其中的某些字段,或排除某些字段 支持 参数过滤器 支持添加多个参数过滤器,可自定义参数过滤规则...例如,这样的一个典型的需求: 后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以: 只一行代码实现以上功能 首先,你有一个实体类: @SearchBean(tables="user u, role r", joinCond="u.role_id...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    92640

    比 MyBatis 效率快 100 倍...

    集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图: 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项,...例如,这样的一个典型的需求: 后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以: 只一行代码实现以上功能 首先,你有一个实体类: @SearchBean(tables="user u, role r", joinCond="u.role_id...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    13710

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

    集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等 扩展性强 面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件 支持 注解缺省...多表联查分页搜索任意字段组合过滤任意字段排序多字段统计 架构图 为什么用 这绝不是一个重复的轮子 虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项,...例如,这样的一个典型的需求: 后端需要写一个检索接口,而如果用传统的 ORM 来写,代码之复杂是可以想象的。...而 Bean Searcher 却可以: 只一行代码实现以上功能 首先,你有一个实体类: @SearchBean(tables="user u, role r", joinCond="u.role_id...普通的复杂列表查询只需一行代码 单表检索可复用原有 Domain,无需定义 SearchBean 集成简单 可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails

    92810

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

    然而,它的不同之处在于,它通过构建已经建立的Java技术(如Spring和Hibernate)来实现。...以上所有都通过Groovy语言的强大功能和领域特定语言(DSL)的广泛使用而变得易于使用,Grails是构建在Springboot之上的,它利用了Spring的功能,例如依赖注入。...Grails不仅仅是一个Web框架,它由各种子项目组成。下表总结了生态系统中的其他一些关键项目。...Vert.x Vert.x 是一个由Eclipse基金会管理的工具集,用于在JVM上构建响应式应用程序。它是一个工具集,而不是一个框架,所以它可以组合和嵌入到其他框架。...优秀的错误报告功能:发生异常时,该框架会直接显示出错误的源代码,甚至是模板代码。

    85050

    使用管理门户SQL接口(二)

    每个列出的模式都提供指向其关联表、视图、过程和查询(缓存的查询)列表的链接。 如果模式没有该类型的项,则在该模式列表列中显示一个连字符(而不是命名链接)。 这使能够快速获得关于模式内容的信息。...如果有一个显式分片键,它会显示分片键字段。 类名是在Intersystems类参考文档中的相应条目的链接。类名是通过删除标点字符,如标识符和类实体名称中所述从表名派生的唯一包。...该选项还为打开表时要加载的行数提供了一个可修改的值。 这将设置打开表中显示的最大行数。 可用范围从1到10,000; 默认值为100。...链接表向导 - 运行向导,以链接到外部源中的表或视图,就像它是本机Intersystems Iris数据一样。 链接过程向导 - 运行向导,以链接到外部源中的过程。...默认情况下,将显示前100行数据;通过在“目录详细信息”选项卡信息中将表打开时,通过设置要加载的行数来修改此默认值。如果表格中的行数多于此行到加载值,则在数据显示的底部显示越多的数据...指示器。

    5.2K10
    领券