小编Con*_*wer的帖子

Groovy从List转换为var args进行方法调用

我正在使用一个提供电子邮件功能的插件,如下所示:

class SendSesMail {

    //to
    void to(String ... _to) { 
        this.to?.addAll(_to)
        log.debug "Setting 'to' addresses to ${this.to}"
    }

}
Run Code Online (Sandbox Code Playgroud)

文档声明该类的调用如下:

sesMail {
    from "from@a.com"
    replyTo "reply@a.com"
    to "t@a.com", "t@b.com", "t@c.com"
    subject "Subject"
    html "Body HTML"
}
Run Code Online (Sandbox Code Playgroud)

在代码List中建立了一个地址,我试图找出如何将此列表转换为该方法所期望的var args.

转换为String与","连接不起作用,因为这是一个无效的电子邮件地址.我需要能够将每个List项分成一个单独的参数,以避免迭代List并单独发送每封电子邮件.

groovy list variadic-functions

24
推荐指数
1
解决办法
1万
查看次数

Grails将命令对象添加到版本会导致params的id和版本不被绑定

如果我错过了一些非常明显的东西,我很抱歉,但是我一直在用这个问题解决问题.

我有一个命令对象:

class MyCommand {
    Long id
    String value
}
Run Code Online (Sandbox Code Playgroud)

我在我的控制器中绑定到这个:

public update(MyCommand myCmd) {


}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,一切都很好.现在我正在尝试添加版本字段,该字段在请求参数中传递给命令对象:

class MyCommand {
    Long id
    Long version
    String value
}
Run Code Online (Sandbox Code Playgroud)

现在,当绑定发生时,id和version始终为null,即使它们存在于params对象中.

我怀疑对于与grails如何处理乐观锁定相关的id/version属性可能有一些特殊处理(因为这最终是我这样做的原因)但是问题出现在命令对象中,与任何域对象无关.

我很困惑,为什么这不起作用.在命令对象上存在版本时是否存在某些特殊情况?

grails command-objects

3
推荐指数
1
解决办法
495
查看次数

如何从 underscore.js javascript 模板库引用名称中带有句点的 JSON 属性

我正在使用下划线模板引擎(作为 Backbone.js 的一部分),并且遇到一个问题,即 JSON 对象的属性中有一个句点,即

{
"id": 1234,
"company.id": 4321
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在下划线模板中访问此内容时,出现 JavaScript 错误:

Company ID: <@= company.id @>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能以及如何访问带有句点的属性。我无法更改 JSON 的生成。

考珀

backbone.js underscore.js

1
推荐指数
1
解决办法
589
查看次数