¿如何使用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。

最佳答案

请参见http://www.displaytag.org/1.2/tut_externalSortAndPage.html。想法是将org.displaytag.pagination.PaginatedList的实例而不是java.util.List传递给标签。

如果是这种情况,则标记将生成带有未编码参数的href,用于加载页面编号,要使用的排序标准和方向(asc,desc)以及可选的搜索ID(例如,用于缓存查询)结果在服务器端。

在这种情况下,您有责任读取这些参数,并执行查询以允许创建PaginatedList实例。

08-27 15:24