有谁知道在JSP / GSP页面中查找有关显示ResultSet结果的文档的位置?
结果是在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扩展或库可能能够为此工作。
答案 0 :(得分:3)
我认为ResultSet不应该靠近JSP / GSP。它永远不会出现在你的持久层中。
ResultSet是一个数据库游标 - 稀缺资源。关闭它的责任应该保留在创建它的方法中。
正确的方法是将ResultSet映射到对象或集合中,在范围内关闭它,然后将对象或集合传递给JSP / GSP以根据需要进行排序/分页/显示。
答案 1 :(得分:0)
完全同意duffymo关于解决方案的设计。在Grails中,您可以将数据访问封装在Service类中,然后将表示包装在taglib中,该taglib可以使用Service类来检索数据。
如果您通过JDBC使用直接SQL,那么进行排序(在SQL中排序)。使用GSQL为SQL添加一点Grooviness,docs是使用Groovy SQL后台的一个很好的起点。
答案 2 :(得分:0)
问题是关于在JSP上对数据进行排序的一些方法,建议使用某种JS。
所以...这里是:http://code.google.com/apis/ajax/playground/#motion_chart和其他谷歌图表和表 - 这些东西真的很可爱,当然,可以排序。
要向他们提供数据,您只需要将list / array / JSON传递给JSP,并使用JS中提供的一些循环作为示例。
答案 3 :(得分:0)
<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>