В Grails 3, леса для индексной страницы оставляют нам нечто похожее на следующее (index.gsp
):
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<g:set var="entityName" value="${message(code: 'Test_Domain.label', default: 'Test_Domain')}" />
<title><g:message code="default.list.label" args="[entityName]" /></title>
</head>
<body>
<a href="#list-Test_Domain" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content…"/></a>
<div class="nav" role="navigation">
<ul>
<li><a class="home" href="${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li>
<li><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></li>
</ul>
</div>
<div id="list-Test_Domain" class="content scaffold-list" role="main">
<h1><g:message code="default.list.label" args="[entityName]" /></h1>
<g:if test="${flash.message}">
<div class="message" role="status">${flash.message}</div>
</g:if>
<f:table collection="${Test_DomainList}" />
<div class="pagination">
<g:paginate total="${Test_DomainCount ?: 0}" />
</div>
</div>
</body>
</html>
В Grails 2.x тело таблицы было похоже на это:
<tbody>
<g:each in="${Test_DomainInstanceList}" status="i" var="Test_DomainInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
<td><g:link action="show" params="[code: Test_DomainInstance.x]">${fieldValue(bean: Test_DomainInstance, field: "x")}</g:link></td>
<td>${fieldValue(bean: Test_DomainInstance, field: "a")}</td>
<td>${fieldValue(bean: Test_DomainInstance, field: "b")}</td>
<td>${fieldValue(bean: Test_DomainInstance, field: "c")}</td>
<td>${fieldValue(bean: Test_DomainInstance, field: "d")}</td>
</tr>
</g:each>
</tbody>
На самом деле я хотел бы знать две вещи:
1) Можем ли мы получить Grails 3 для генерации представлений для страницы индекса (пока у нас это ВСЕ представления домена по умолчанию), аналогично тому, как это делал Grails 2.x?
2) Если я застрял с f:table
по умолчанию, то как бы мне удалось вставить гиперссылку в ячейку таблицы, которая передает идентификатор объекта внутри строки таблицы, например: <td><g:link action="show" params="[code: Test_DomainInstance.x]">${fieldValue(bean: Test_DomainInstance, field: "x")}</g:link></td>
?
По некоторым причинам в этом отделе отсутствует официальная документация по Grails для 3.3.6.