【发布时间】:2020-01-15 02:53:56
【问题描述】:
我创建了一个全新的 Grails 4.0.0 应用程序并使用 grails cmd 创建了一个域/控制器。我还创建了一个简单的服务,它将“Hello World”返回给控制器,然后控制器将其呈现到屏幕上。但是,当我尝试调用服务方法时,我得到“无法在空对象上调用方法” - 似乎依赖注入无法正常工作。
我尝试过使用“def”声明服务,也尝试过按类名声明 - 似乎都不起作用。
package uk.org.pmms
import grails.gorm.transactions.Transactional
@Transactional
class HelloWorldService {
def hello() {
return "Hello World"
}
}
package uk.org.pmms
class ClientController {
//static scaffold = Client
def helloWorld
def show(Long id){
Client clientInstance = Client.get(id)
respond ("client": clientInstance, "message": helloWorld.hello())
}
}
我希望控制器返回显示在 GSP 页面上的 clientInstance 数据和字符串“Hello World”。
当我删除响应语句的“消息:”部分时,它会正确显示客户端信息,因此问题肯定只是服务调用。
【问题讨论】:
标签: grails dependency-injection