我想让用户触发 sql 查询,然后在 grails 视图页面中查看结果。
我QueryController.groovy
的是
def query(){
def headers = null; //["id","name"]
Sql sql = new Sql(dataSource)
def rowResults = sql.rows(params.query) //GroovyRowResult
rowResults.eachWithIndex { row, index->
if (headers == null) {
headers = row.keySet()
}
}
[headers : headers, resultList: rowResults, total : rowResults.size() ]
}
在 grails 视图页面 ( query.gsp
) 中,
<table class="table table-striped">
<thead>
<tr>
<g:each in="${headers}" var="header">
<g:sortableColumn property="header" title="${header}" />
<th></th>
</g:each>
</tr>
</thead>
<tbody>
<g:each in="${resultList}" var="row">
<tr>
<g:each status="counter" in="${row}" var="val">
<td>${val}</td>
</g:each>
</tr>
</g:each>
</tbody>
</table>
视图中的<td>${val}</td>
部分没有按预期工作,因为它给出的结果是id=1
而不是1
. 我只想在那里显示值。
可能是一个较小的问题,但需要解决它。
谢谢。