@Resource
public class ClienteController {
private final Result result;
public ClienteController(Result result) {
this.result = result;
}
// esse método executa normalmente e redireciona para WEB-INF/jsp/cliente/busca.jsp, nesse arquivo tenho um <c:foreach> que imprime a lista, é aqui que desejo alterar
public List<Cliente> busca(String regra) {
return new ClienteDAO().busca(regra);
}
// esse método executa normalmente e redireciona para WEB-INF/jsp/cliente/lista.jsp, nesse arquivo tenho um <c:foreach> que imprime a lista
public List<Cliente> lista() {
return new ClienteDAO().lista();
}
}
Tanto o método lista() quanto o método busca() retornam para a view um objeto clienteList, o que eu quero fazer é eliminar a página busca.jsp e fazer esse objeto clienteList ser exibido na página lista.jsp.
Tentei da seguinte forma:
public List<Cliente> busca(String regra) {
result.redirectTo(ClienteController.class).lista();
return new ClienteDAO().busca(regra);
}
Dessa forma ele reexibe a listagem completa de cliente, o meu filtro não serviu de nada e isso fica claro já que o result invoca a ação lista().
Tentei então redirecionar para o lista.jsp:
public List<Cliente> busca(String regra) {
result.forwardTo("/WEB-INF/jsp/cliente/lista.jsp");
return new ClienteDAO().busca(regra);
}
Aqui é exibido apenas a página com o cabeçalho da tabela, ou seja, o clienteList deve estar vazio. Embora se eu redirecionar para a página padrão do método (busca.jsp) seja exibido os itens do clienteList.
O que fazer?
Obrigado.