我们正在尝试清理groovy sql.rows结果,使其仅包含查询返回的值。
查询服务是非常直接的
def getRowsFromDB(String sqlStatement) {
def sql = Sql.newInstance(-redacted-)
def rows = sql.rows (sqlStatement)
return rows
}
列表返回如下:
[SCBCRSE_SUBJ_CODE:SOCI, SCBCRSE_CRSE_NUMB:291, SCBCRSE_TITLE:Special Topics]
[SCBCRSE_SUBJ_CODE:SOCI, SCBCRSE_CRSE_NUMB:306, SCBCRSE_TITLE:Sociology of Work]
[SCBCRSE_SUBJ_CODE:SOCI, SCBCRSE_CRSE_NUMB:308, SCBCRSE_TITLE:Soc of Education]
[SCBCRSE_SUBJ_CODE:SOCI, SCBCRSE_CRSE_NUMB:312, SCBCRSE_TITLE:Criminal Adjudication]
[SCBCRSE_SUBJ_CODE:SOCI, SCBCRSE_CRSE_NUMB:314, SCBCRSE_TITLE:Extraordinary Group Behavior]
但我们希望它像:
SOCI 291 Special Topics
SOCI 306 Sociology of Work
SOCI 308 Soc of Education
SOCI 312 Criminal Adjucation
SOCI 314 Extraordinary Group Behavior
这是一件容易做到的事情吗?我试图将.value
添加到.gsp标记中,但它抛出一个错误,说找不到任何方法。
最后,当我在视图中使用它时,总是有一组{ }
围绕着列表中的每个项目,你如何消除这些?
如果您不希望结果为String
,而是希望列表在视图中进行迭代和控制,则使用:
rows.collect{it.values()}
应该给你
[[SOCI, 291, Special Topics],
[SOCI, 306, Sociology of Work],
[SOCI, 308, Soc of Education],
[SOCI, 312, Criminal Adjudication],
[SOCI, 314, Extraordinary Group Behavior]]
在将GroovyRowResults列表返回到Gsp:之前,您可以将其转换为字符串列表
return rows.collect {
"${it.SCBCRSE_SUBJ_CODE} ${it.SCBCRSE_CRSE_NUMB} ${it.SCBCRSE_TITLE}"
}