gpt4 book ai didi

grails - LinkGenerator 对象在初始化 Grails 2.4.3 后为空

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

我正在尝试生成 serverBaseUrl,然后用它填充一个字段。
我查看了很多关于如何使用 LinkGenerator 的说明,但我不断收到 LinkGenerator 对象上的空指针异常。

我正在使用什么:

import org.codehaus.groovy.grails.web.mapping.LinkGenerator

MyService{
def linkGenerator

String client_url = getServerUrl()

String getServerUrl(){
linkGenerator.serverBaseURL
}
}

我尝试过使用 LinkGenerator linkGenerator,重新定位它,并在 Config.groovy 中向 grails.serverURL 添加一个值。字符串 client_url 在触发器上,因此在程序运行之前不会调用该方法。

我正在使用 Grails 2.4.3 和 Java 1.8

最佳答案

你的方法有几个问题。一是您可能想要访问 grailsLinkGenerator bean 。

 class MyService {
def grailsLinkGenerator

String getServerUrl(){
grailsLinkGenerator.serverBaseURL
}
}

在您的代码中,您有以下内容:
class MyService{
def linkGenerator

String client_url = getServerUrl()

String getServerUrl(){
linkGenerator.serverBaseURL
}
}

除了 bean 名称问题,你试图初始化 client_url在依赖注入(inject)发生之前。目前尚不清楚为什么你需要该属性开始,但如果你真的想要这样的东西,试试这个......
import org.springframework.beans.factory.InitializingBean

class MyService implements InitializingBean {
def grailsLinkGenerator
String client_url

String getServerUrl(){
grailsLinkGenerator.serverBaseURL
}

void afterPropertiesSet() {
client_url = getServerUrl()
}
}

我希望这会有所帮助。

关于grails - LinkGenerator 对象在初始化 Grails 2.4.3 后为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31922927/

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