0

我显然在这里遗漏了一些明显的东西,但是我一生都无法弄清楚什么,我已经设置了一个视图来显示自定义 SQL 查询,但是屏幕什么也没显示,这就是我所拥有的

控制器

def queueBreakdown(){
    String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from dbo.test_exec_queue group by state"
    def dataSource
    def list = {
        def db = new Sql(dataSource) 
        def results = db.rows(SQLQuery)
        [results:results]
    }
}

如果我手动运行它,我会像这样得到一组结果

state   myCount
1       1
test    2
test2   1

queueBreakdown.gsp 具有以下内容...

<body>
    <a href="#list-testExecQueue" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>
    <div class="nav" role="navigation">
        <ul>
            <li><a class="home" href="${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li>
        </ul>
    </div>

    <div id="queueBreakdown-testExecQueue" class="content scaffold-list" role="main">
        <h1><g:message code="Execution Queue Breakdown"  /></h1>
        <table>
            <thead>
                <tr>

                    <g:sortableColumn property="Run State" title="Run State"/>
                    <g:sortableColumn property="Count" title="Count" />
                </tr>
            </thead>

            <tbody>
                <g:each in="${results}" status="i" var="it">
                    <tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
                        <td>${it.state}</td>
                        <td>${it.myCount}</td>
                    </tr>
                </g:each>
            </tbody>
        </table>
    </div>
</body>

但是当我查看页面时,我什么也没有得到... 表格已经建好,但里面没有线条,我在这里厚什么?

干杯

4

1 回答 1

0

您的控制器代码真的很混乱,这里的操作是什么?queueBreakdown() 还是 list() ?似乎您将 2 个动作混合在一起,并且 queueBreakdown() 没有返回任何模型......

class SomeController {

    def dataSource

    def queueBreakdown() {
        String SQLQuery = "select state, count(test_exec_queue_id) as 'myCount' from         dbo.test_exec_queue group by state"
        def db = new Sql(dataSource) 
        def results = db.rows(SQLQuery)
        [results:results]
    }
}
于 2013-03-21T11:55:06.860 回答