gpt4 book ai didi

grails - 在Grails Controller 中使用Groovy特性

转载 作者:行者123 更新时间:2023-12-04 03:51:04 26 4
gpt4 key购买 nike

我想按照以下方式在Grails Controller 中使用Groovy特性:

trait ColumnSelectionController {
def selectColumns() {
//Do something here
}
}

class MyController implements ColumnSelectionController {
def index() {
//Calculate list model
}
}

但是,当我在Grails中运行此代码时,“selectColumns”操作不可见,并且从Grails获得了404响应。我怀疑需要对特质做一些事情,以便将其内部定义的方法识别为实现类中的 Action 。有人知道那会是什么吗?

编辑1:

进一步的信息:该特性是在src/groovy中定义的,而不是在grails-app/controllers中定义的,因此,它没有被定义为Artefact。

编辑2:

另外,如果我将特征更改为一个类,请使用@Artefact批注对其进行标记,并更改MyController来扩展该类,一切将按预期进行。尝试在特征上使用@Artefact注释没有任何作用(不足为奇)。

最佳答案

只需在trait中定义的方法上定义@Action批注,这将使此方法作为 Controller 的Action(当实现trait时)

import grails.web.Action

trait ColumnSelectionController {

@Action
def selectColumns() {
//Do something here
}
}

希望这可以帮助。

关于grails - 在Grails Controller 中使用Groovy特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860972/

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