Exemplo mostrando como mesclar a tag paginator do Mentawai com a feature MentaAjax resultando em um gridPaging com navegação via ajax.
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
