gpt4 book ai didi

grails - 以Groovy字符串而不是Object返回的参数

转载 作者:行者123 更新时间:2023-12-02 14:02:57 24 4
gpt4 key购买 nike

我有一个自定义的taglib。我将把taglib的结果传递给g:render taglib。参数之一是Asset对象。如果我自己调用taglib,它可以正常工作。该参数实际上是 Assets 对象。

例:

templateFinder template="_displayMain" findByFactory="asset" findByObject="${params.asset}"

在templateFinder标签库中正确将params.asset呈现为 Assets 。

但是,一旦将其添加到g:render标签库中,它将变成Asset对象的toString表示形式。

例:
 render template="${g.templateFinder(template:'_displayMain', findByFactory:'asset', findByObject:"${params.asset}")}" ..../>

这会导致Class Cast错误,并且对我的Asset类的类为'org.codehaus.groovy.runtime.GStringImpl'。

我对为什么在第一个示例中将其渲染为对象而在第二个示例中将其渲染为Gstring感到困惑。

谢谢你的帮助。

最佳答案

您正在通过将 Assets 包含在"${...}"中来将其转换为字符串。试试这个:

<g:render template="${g.templateFinder(template:'_displayMain', 
findByFactory:'asset', findByObject: params.asset)}" ..../>

关于grails - 以Groovy字符串而不是Object返回的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634881/

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