gpt4 book ai didi

grails - Grails-显示正确的类(class)名称

转载 作者:行者123 更新时间:2023-12-02 15:12:10 25 4
gpt4 key购买 nike

我有简单的层次结构:

class Atom {}

class Text extends Atom { String value}

class Unit {
List atoms
static hasMany = [ atoms:Atom ]
}

假设我们创建一个Text对象和一个Unit对象,然后选择Unit作为Text的父级。它工作正常。当我在Unit上调用show方法时,我看到我的Unit由一个Atom组成。当我单击该原子时,它会将我重定向到原子 Controller ,但我的原子实际上是文本,并且我想查看文本 Controller 。这是预期的行为,因为在我的show.gsp中有这样的代码:
<g:each in="${unitInstance.atoms}" var="a">
<span class="property-value" aria-labelledby="atoms-label">
<g:link controller="atom" action="show" id="${a.id}">
${a?.encodeAsHTML()}
</g:link>
</span>
</g:each>

好的,数据库将实际的原子类型存储在字段“类”中,因此我编辑了第3行:
<g:link controller="${a.class}" action="show" id="${a.id}">    

$ {a.class}总是返回原子。
所以,我的问题是-我们如何获得实际的类(class)名称?

最佳答案

您可能会遇到有关Hibernate返回代理而不是膨胀对象的GORM Gotcha的信息。

在您的链接中,您可以尝试:

<g:link controller="${Atom.get(a.id).getClass()}" ... />

关于grails - Grails-显示正确的类(class)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com