gpt4 book ai didi

web-services - Controller 中的 Grails 2.4 服务调用但服务为空?

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

此示例程序抛出以下空指针异常:

    2015-07-23 15:12:36,815 [http-bio-8090-exec-2] ERROR errors.GrailsExceptionResolver  - NullPointerException occurred when processing request: [GET] /GrailsProject/HTMLAnalyser/start
Cannot invoke method analyse() on null object. Stacktrace follows:
Message: Cannot invoke method analyse() on null object
Line | Method
->> 14 | start in org.Bookstore.HTMLAnalyserController$$EPJGWngM
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 198 | doFilter in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread

我有这个 Controller :
package org.Bookstore

import org.Bookstore.HTMLAnalyserService

class HTMLAnalyserController {

def htmlAnalyserService

def index() { }

def start() {

def html = "START"
html = htmlAnalyserService.analyse()
render html
}

}

我有这个服务:
package org.Bookstore

import grails.transaction.Transactional

@Transactional
class HTMLAnalyserService {

def serviceMethod() {

}

def analyse() {
println "ok"
def map = [:]
map.put("key", "value")
map.put("key2", "value2")
return map
}
}

我使用 grails 命令行工具创建了 Controller 和服务。
有人可以帮我吗?

最佳答案

原因是名称为 HTMLAnalyserService 的类的属性名称是 HTMLAnalyserService (即相同)。

那是因为 HTML被假定为首字母缩略词(因为都是大写的),因此不会小写。如果您的类(class)名称被称为 HtmlAnalyserService ,依赖注入(inject)确实会为名为 htmlAnalyserService 的属性完成。 .

测试依赖注入(inject)的正确名称的快速方法是使用方法grails.util.GrailsNameUtils#getPropertyName。 (见 http://grails.github.io/grails-doc/2.2.x/api/grails/util/GrailsNameUtils.html#getPropertyName(java.lang.Class))。

import static grails.util.GrailsNameUtils.*
assert getPropertyName('HtmlAnalyserService') == 'htmlAnalyserService'
assert getPropertyName('HTMLAnalyserService') == 'HTMLAnalyserService'

你也可以给它传递一个类。

关于web-services - Controller 中的 Grails 2.4 服务调用但服务为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31588591/

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