Это общий способ выбора данных из таблицы и отображения результатов в таблице HTML с использованием библиотек тегов JSP. Каков общий способ сделать это в 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>
Я, очевидно, привел тривиальный пример SQL. Реальный пример будет содержать 2 или 3 таблицы и предложение <b> where </b>.
Если вы исправили это / ответили самостоятельно, вы можете просто опубликовать свой ответ здесь и принять его :)
Я делал это в прошлом. Было бы лучше получить отличный ответ и дать кому-то 25 баллов.





Вы можете использовать taglib, как описано. Вам просто нужно, чтобы Grails знал об этом.
Этот вопрос можно перефразировать так: как мне писать код, как наивный разработчик ASP.NET? (Не все разработчики ASP.NET наивны, некоторые могут быть неплохими)
Вы также можете использовать критерий запроса MyDomain.createCriteria () Затем вы можете передать результат в taglib.
Но все это, похоже, нарушает принципы MVC. Ваш взгляд должен быть просто видом ....
То, что вы спросили, действительно не идоматично для приложения Grails. Я понимаю, что это обычное дело в мире Microsoft: выполнить запрос, передать его в сетку данных ... Но в Grails нет прямого аналога, и, вероятно, не зря
Почему? Если foo является доменным классом, представление списка шаблонов по умолчанию предоставит то, что вы хотите (для 5 столбцов), с разбивкой на страницы и сортировкой по столбцам.