【发布时间】:2014-10-15 13:03:46
【问题描述】:
在我的 Grails 控制器中,我试图从数据库中获取图像文件的路径集合作为对象集合。我知道如何将数据从控制器传递到 Grails 中的视图的唯一方法是作为地图,因此我将对象转换为地图。
我需要剥离路径以便我只能获取文件名,然后在视图中我可以将正确/新的路径添加到文件名以链接文件。
对于闭包来说,这似乎是一项不错的工作——我错了吗?——但我不确定如何在闭包中编写正则表达式。
感谢您的帮助!
private Map getMap() {
Sql sql = Sql.newInstance(dataSource)
// Query DB to get image paths
def result = sql.rows(""" SELECT image_path
FROM images
WHERE display=TRUE """)
// Convert results into a map that can be more easily parsed in the view
def gallery = result.collectEntries {
[imagePath: it.image_path]
}
gallery.each() { key, value -> /* regex goes here */ }
return gallery
}
【问题讨论】:
-
1:为什么要进行原始 SQL 调用? 2:你可能需要
collect不是每个 -
原始 SQL 调用不是我的选择。我正在让我们转向使用 GORM,但现在需要 SQL 调用来实现旧项目的“代码一致性”。
-
您也可以在 SQL 查询中使用正则表达式并输入
distinct以获取唯一值
标签: regex grails groovy closures