Отображение ResultSet в JSP / GSP - PullRequest
0 голосов
/ 01 февраля 2011

Кто-нибудь знает, где можно найти документацию по отображению результатов ResultSet на странице JSP / GSP?

Результаты в объекте GroovyRowResult, возвращаемом в GSP.

Вот как я сейчас это показываю.

<g:if test="${results.size() > 0}">
<table>
    <g:each in="${results}" var="GroovyRowResult" status="index">
        <g:set var="result" value="${GroovyRowResult}" />
        <g:if test="${index == 0}">
            <tr>
                <g:each in="${result.keySet()}" var="key" status="key_index">
                    <g:if test="${key_index == 0}">
                        <th id="t${key_index}" class="staticTHcol">${key.trim()}</th>
                    </g:if>
                    <g:else>
                        <th id="t${key_index}">${key.trim()}</th>
                    </g:else>
                </g:each>
            </tr>
        </g:if>
        <tr>
        <g:each in="${result.values()}" var="value" status="index2">
            <g:if test="${index2 == 0}">
                <td headers="t${index2}" class="staticTDcol">${value}</td>
                <g:set var="record_id" value="${value}" />
            </g:if>
            <g:else>
                <td headers="t${index2}" class="nonStaticTDcol">
                    <g:textField name="${record_id}" value="${value}" onfocus="setDefaultValue('${value}');" onblur="updateValue(this,'${record_id}')" />
                </td>
            </g:else>
        </g:each>
        </tr>
    </g:each>
</table>

Нет результатов

Я не использую никаких технологий ORM, только чистый JDBC. У меня есть основы вниз (ограничение строк возвращается, нумерация страниц и основные результаты). Теперь мне нужно перейти к более сложным функциям, таким как сортировка и т. Д.

Я использую последнюю версию Grails и задаюсь вопросом, есть ли плагин, который мог бы дать мне некоторые из этих функций. Или, может быть, кто-то знает о хорошем расширении JS или библиотеке, которая могла бы работать для этого.

Ответы [ 4 ]

3 голосов
/ 01 февраля 2011

Я не думаю, что ResultSet должен быть где-то рядом с JSP / GSP.Он никогда не должен выходить из вашего уровня сохраняемости.

ResultSet - это курсор базы данных - дефицитный ресурс.Ответственность за его закрытие должна оставаться внутри метода, который его создал.

Правильный способ сделать это - сопоставить ResultSet с объектом или коллекцией, закрыть его в области видимости, а затем передать объект или коллекцию вJSP / GSP для сортировки / разбивки на страницы / отображения по вашему усмотрению.

0 голосов
/ 20 ноября 2012
<table  class="main_grid_table" width="100%">
<thead>
<h3>Number of items found are ${numberofrows}</h3>
<th class="main_grid_column"><b>Factory Id</b></th>
<th class="main_grid_column"><b>Applicant Name</b></th>
<th class="main_grid_column"><b>Designation</b></th>
<th class="main_grid_column"><b>Factory_name</b></th>
<th class="main_grid_column"><b>Situation of Dist</b></th>
<th class="main_grid_column"><b>Police Station</b></th>
</thead>
<% while(resultset.next())
{%>
<tr>
<td align="center" class="main_grid_column"><a href="printAmmendmendFormOne.htm?facid=<%=resultset.getString("Fac_id")%>"><%=resultset.getString("Fac_id")%></a></td>
<td align="center" class="main_grid_column"><%=resultset.getString("Appname")%></td>
<td align="center" class="main_grid_column"><%=resultset.getString("Designation")%></td>
<td align="center" class="main_grid_column"><%=resultset.getString("Factory_name")%></td>
<td align="center" class="main_grid_column"><%=resultset.getString("Situation_f_district")%></td>
<td align="center" class="main_grid_column"><%=resultset.getString("nearest_police_station")%></td>
</tr>
<%}%>
<tbody>
</tbody>
</table>
0 голосов
/ 28 сентября 2011

Вопрос был о каком-то способе сортировки данных в JSP, предлагая какой-то JS.


Итак ... вот оно: http://code.google.com/apis/ajax/playground/#motion_chart и другие диаграммы и таблицы Google -эти вещи очень милые и, конечно, сортируемые.

Чтобы предоставить им данные, вам просто нужно передать list / array / JSON в JSP и использовать некоторый цикл внутри JS, предоставленный в качестве образца.

0 голосов
/ 01 февраля 2011

Полностью согласен с Duffymo относительно дизайна вашего решения.В Grails вы можете инкапсулировать свой доступ к данным в классе Service, а затем обернуть свою презентацию в taglib, который может использовать класс Service для извлечения данных.

Если вы используете прямой SQL через JDBC, то выполните сортировку (упорядочение в SQL).Добавьте немного Grooviness в ваш SQL с помощью GSQL, docs - хорошее место для начала использования Groovy SQL.

...