Grails视图中的名称-值对
我有这样一个头类:Grails视图中的名称-值对,grails,grails3,Grails,Grails3,我有这样一个头类: class Header { String name String value } 我有一个类似这样的想法: model { Set<Header> headers } json { headers .... } { "headers": { "Host": "xyz.com", "Other-Header": "da value" } } 我尝试手动生成JSON值,但Grails只是将其放在引号中。所以这不起作用。
class Header {
String name
String value
}
我有一个类似这样的想法:
model {
Set<Header> headers
}
json {
headers ....
}
{
"headers": {
"Host": "xyz.com",
"Other-Header": "da value"
}
}
我尝试手动生成JSON值,但Grails只是将其放在引号中。所以这不起作用。首先将集合转换为贴图:
这是一个不寻常的方式来模拟你正在做什么,但它可以使工作。您是否确实知道集合中永远不会包含超过1个具有相同名称属性的标题?如果不知道,您对发生冲突的渲染输出有何要求?@JeffScottBrown重复标题字段是一个有趣的场景。我的想法是,对于实现者来说,利用能够获得特定值而无需迭代非常简单。我想我将实现下面的答案和标题对象的典型列表。
model {
Set<Header> headers
}
json {
headers renderHeaders(email.headers)
}
static Map<String, String> renderHeaders(Set<Header> headers) {
Map<String, String> res = [:]
for (Header header : headers) {
res[header.name] = header.value
}
return res
}