¿如何使用DisplayTag(和Spring MVC)对服务器端进行分页?
我的控制器代码如下:
@RequestMapping("/cuenta/refreshCombos.do")
public ModelAndView refreshCombos(HttpServletRequest request, HttpSession session,
@RequestParam(required= false, value="todas") Boolean todas,
@RequestParam("idBanco") Long idBanco) throws ParseException{
Map<String, Object> resul = new HashMap<String, Object>();
@SuppressWarnings("rawtypes")
Map paramMap = WebUtils.getParametersStartingWith(request, "d-");
if (paramMap.size() == 0) {
if (idBanco == 0){
cuentaList = obtenerCuentas(0L, true);
}
if (idBanco != 0){
cuentaList = obtenerCuentas(idBanco, false);
}
}
WebUtils.setSessionAttribute(request, "cuentaList", cuentaList);
resul.put("cuentas", cuentaList);
return forward("/cuenta/informeCuentas", resul);
}
我的JSP中的DisplayTag,如下所示:
<display:table class="displayTags_wrapper" uid="cuenta" name="sessionScope.cuentaList" pagesize='50' defaultsort="1" defaultorder="ascending" requestURI="">
<display:column property="becado" sortable="true" title="Becado" maxLength="25" />
<display:column property="apellido" sortable="true" title="Titular Cuenta" maxLength="25" />
<display:column property="nroCuil" sortable="true" title="CUIL" maxLength="22" />
<display:column property="apellidoRR" sortable="true" headerClass="sortable" title="RR" maxLength="25" />
<display:setProperty name="basic.empty.showtable" value="true" />
<display:setProperty name="paging.banner.group_size" value="35" />
<display:setProperty name="paging.banner.item_name" value="cuenta" />
<display:setProperty name="paging.banner.item_names" value="cuentas" />
<display:setProperty name="paging.banner.onepage" value=" " />
</display:table>
这样,我的寻呼机工作正常,但客户端......
对服务器端分页的任何帮助或修改?
此致
CaktusJP。
答案 0 :(得分:1)
见http://www.displaytag.org/1.2/tut_externalSortAndPage.html。我们的想法是将org.displaytag.pagination.PaginatedList
的实例传递给代码而不是java.util.List
。
如果是这种情况,那么标签将生成hrefs,其中没有用于加载页码的编码参数,要使用的排序标准和方向(asc,desc),以及使用的可选搜索ID,例如在服务器端缓存查询结果。
在这种情况下,您有责任阅读这些参数,并执行允许创建PaginatedList
实例的查询。