gpt4 book ai didi

grails - 从Grails 3中的GSP从Controller中调用方法

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

我试图从GSP页面调用在 Controller 中定义的方法。在之前的Grails 3之前的版本中,我之前已经做过同样的事情。

在我的gsp中:

<%@ page import="com.me.MyController" %>

<%
def cont = grailsApplication.classLoader.loadClass("com.me.MyController").newInstance()
%>
${cont.getInfo('string')}

在我的 Controller 中:
def getInfo(String id){
return "stuff"
}

目前,我收到以下错误消息: Controller 没有名为 getInfo()的方法,该方法接受字符串类型,然后建议其他方法,这些方法与我尝试调用的方法不相上下。那么 Grails 3发生了变化吗,还是我做错了什么?

最佳答案

您不应该这样调用 Controller 。那不是应该使用 Controller 的方式。如果您需要执行类似的操作,请创建一个使用服务将数据提取/返回到GSP的标记库。

package some.package.example

class LookupTagLib {
def myService

static namespace = "custom"
// use returnObjectForTags for Grails 3.x and above.
static returnObjForTags = ["doLookupThing"]

def doLookupThing = { attrs ->
return myService.doLookup(attrs.someParam)
}
}

然后在您的GSP中:
${custom.doLookupThing([someParam: 'string'])}

关于grails - 从Grails 3中的GSP从Controller中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094838/

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