GridPaging com Mentawai Paginator Tag e MentaAjax

Exemplo mostrando como mesclar a tag paginator do Mentawai com a feature MentaAjax resultando em um gridPaging com navegação via ajax.

GridPaging

No seu ApplicationManager você não precisa fazer nada de diferente veja:

//Forward para city.jsp que contém o formulário de busca
action(CityAction.class).fwdOk("/city.jsp");
//Forward para city_list.jsp, que contém a tag paginator que irá construir o grid
action(CityAction.class, "loadAll") .fwdOk("/city_list.jsp");

Na action tudo o que você precisa é enviar para o output uma lista com os valores:

//Neste exemplo estou usando MentaBeans para obter a lista de objetos City do banco
public String loadAll() throws Exception {
    output.setValue("list", beanSession.loadList(new City()));
    return SUCCESS;
}

Agora o arquivo city.jsp que contém o formulário de busca com MentaAjax:

<%@ taglib uri="/WEB-INF/mentawai.tld" prefix="mtw" %>
<html>
<head>
<title>GridPaging</title>
<mtw:ajaxConfig />
<script type="text/javascript">
function find(pg) {
    var req = new mtw.request();
    req.setUrl("CityAction.loadAll.mtw");
    req.onSuccess(function(trans) {
        var res = new mtw.response(trans);
        $("grid").innerHTML = res.getString();
    });
    req.addParameter("page", pg);
    req.send();
}
</script>
</head>
<body>
<a href="javascript:void(0)" onclick="find(1)">Show !</a>
<div id="grid"></div>
</body>
</html>

No arquivo city_list.jsp iremos usar o PaginatorTag do Mentawai:

<%@ taglib uri="/WEB-INF/mentawai.tld" prefix="mtw" %>
<table>
<tr>
 <td>
  <mtw:paginator size="5" value="list">
     <mtw:isEmpty negate="true">
        Resultados <mtw:resultFrom /> - <mtw:resultTo /> de: <mtw:resultTotal /><br />
     </mtw:isEmpty>
     <mtw:hasPrevious>
        <a href="javascript:void(0)" onclick="find(<mtw:out />);">Anterior</a>
     </mtw:hasPrevious>
     <mtw:pageNumbers pagesToShow="2">
        <mtw:isCurrPage><mtw:out /></mtw:isCurrPage>
        <mtw:isCurrPage negate="true">
          <a href="javascript:void(0)" onclick=find(<mtw:out />);><mtw:out /></a>
        </mtw:isCurrPage>
     </mtw:pageNumbers>
     <mtw:hasNext>
       <a href="javascript:void(0)" onclick=find(<mtw:out />);>Próximo</a>
     </mtw:hasNext>
  </td>
 </tr>
<mtw:loop>
<tr>
  <td><mtw:out value="id" /></td>
  <td><mtw:out value="name" /></td>
</tr>
</mtw:loop>
</mtw:paginator>
</table>

Versão do Mentawai 1.11

Comente

Your email is never shared. Campos necessários estão marcados com *

*
*