我们如何让GroovyRowResult只列出值,而不列出列标题?或者只获取.gsp视图中的值



我们正在尝试清理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}"
}

相关内容

最新更新