初始化Grails 2.4.3后,LinkGenerator对象为null
我试图生成serverBaseUrl,然后用它填充一个字段。 我查阅了很多关于如何使用LinkGenerator的说明,但我一直在LinkGenerator对象上遇到空指针异常 我的工作内容:初始化Grails 2.4.3后,LinkGenerator对象为null,grails,Grails,我试图生成serverBaseUrl,然后用它填充一个字段。 我查阅了很多关于如何使用LinkGenerator的说明,但我一直在LinkGenerator对象上遇到空指针异常 我的工作内容: import org.codehaus.groovy.grails.web.mapping.LinkGenerator MyService{ def linkGenerator String client_url = getServerUrl() String getServ
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位于触发器上,因此在程序运行之前不会调用该方法
我使用的是Grails2.4.3和Java1.8这个bean实际上被称为
grailsLinkGenerator
,因此您需要将它声明为LinkGenerator grailsLinkGenerator
(或def grailsLinkGenerator
)
我找不到它的官方文档,但请查看示例。您的方法有几个问题。一个是您可能想要访问
grailsLinkGenerator
bean
class MyService {
def grailsLinkGenerator
String getServerUrl(){
grailsLinkGenerator.serverBaseURL
}
}
在您的代码中有以下内容:
class MyService{
def linkGenerator
String client_url = getServerUrl()
String getServerUrl(){
linkGenerator.serverBaseURL
}
}
除了bean名称问题之外,您还试图在依赖项注入发生之前初始化client\u url
。现在还不清楚为什么你需要这个属性,但如果你真的想要这样的东西,试试这个
import org.springframework.beans.factory.InitializingBean
class MyService implements InitializingBean {
def grailsLinkGenerator
String client_url
String getServerUrl(){
grailsLinkGenerator.serverBaseURL
}
void afterPropertiesSet() {
client_url = getServerUrl()
}
}
我希望这会有帮助。谢谢,这是非常彻底的。