Bom dia
Existe alguma maneira de excluir/incluir campos em uma collection dentro de um wrapper, na serialização do Vraptor? To fazendo isso pra não ter que ficar serializando na mão pra exibir dentro de uma grid do extjs.
Exemplo:@Component
public class ExtJSListRenderer implements View {
private Result result;
public ExtJSListRenderer(Result result) {
this.result = result;
}
public static class ExtWrapper {
private int total;
private List rows;
public ExtWrapper(List<?> objects) {
this.rows = objects;
this.total = objects.size();
}
}
public Serializer from(List<?> objects) {
return this.result.use(json()).withoutRoot().from(new ExtWrapper(objects)).recursive();
}
// para fazer import statico
public static Class<ExtJSListRenderer> extJsList() {
return ExtJSListRenderer.class;
}
}
result.use(extJsList()).from(clienteList).exclude("nomePrincipal","nomeFantasia").serialize();
Desse jeito não funciona, testei colocando "rows.nomePrincipal" e tbm não foi. Pra resolver momentaneamente eu criei uma classe ClienteView, só com os campos q eu quero mostrar, mas isso não vai funcionar se cada tela exibir campos diferentes, vou ter que ficar criando vários ClienteView, e não quero ficar fazendo isso.
Sugestões?
[]'s