Выполнение универсального <sql: query> в Grails - PullRequest
2 голосов
/ 05 ноября 2008

Это общий способ выбора данных из таблицы и отображения результатов в таблице HTML с использованием JSP taglibs. Каков общий способ сделать это в Grails? То есть, возьмите несколько строк SQL и сгенерируйте HTML-таблицу с нуля в Grails, включая имена столбцов в качестве заголовков.

<sql:query var="results" dataSource="${dsource}">
    select * from foo
</sql:query>
(# of rows: ${results.rowCount})
<table border="1">
    <!-- column headers -->
    <tr bgcolor=cyan>
        <c:forEach var="columnName" items="${results.columnNames}">
            <th><c:out value="${columnName}"/></th>
        </c:forEach>
    </tr>
    <!-- column data -->
    <c:forEach var="row" items="${results.rowsByIndex}">
        <tr>
            <c:forEach var="column" items="${row}">
                <td><c:out value="${column}"/></td>
            </c:forEach>
        </tr>
    </c:forEach>
</table>

Ответы [ 2 ]

2 голосов
/ 05 ноября 2008

Этот вопрос можно перефразировать так: как мне написать код, как наивный разработчик ASP.NET? (Не все разработчики ASP.NET наивны, некоторые могут быть довольно хорошими)

  1. Любой статический метод доступен для вас на странице gsp. Вы можете использовать любой MyDomain.findBy, list (), считать, сколько хотите из области видимости страницы.
  2. Вы также можете использовать критерий запроса MyDomain.createCriteria () Затем вы можете передать результат в taglib.

    Но все это, похоже, нарушает принципы MVC. Ваше мнение должно быть просто представлением ....

То, что вы спросили, на самом деле не является идеальным для приложения Grails. Я понимаю, что это обычное явление в мире Microsoft, выполнить запрос, передать его в сетку данных .... Но в Grails нет прямого анализа и, вероятно, не без причины

0 голосов
/ 05 ноября 2008

Вы можете использовать taglib, как описано. Вам просто нужно, чтобы Grails осознал это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...