1

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

4

1 回答 1

1

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

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

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

于 2011-04-19T13:19:52.160 回答