Olá,
To tentando seguir o tutorial fj-28 da caelum, mas estou com um probleminha. A classe DaoInterceptor não tá sendo chamada.
O código do jsp tá assim:
Isso deveria buscar a lista de usuários da classe UsuarioLogic e listar na tela, mas tá retornando uma lista vazia:
UsuarioLogic:@Component
@InterceptedBy(DaoInterceptor.class)
public class UsuarioLogic {
public final DaoFactory daoFactory;
private List<Usuario> usuarios;
public UsuarioLogic(DaoFactory daoFactory) {
this.daoFactory = daoFactory;
}
public void adiciona(Usuario usuario) {
this.daoFactory.beginTransaction();
this.daoFactory.getUsuarioDao().adiciona(usuario);
this.daoFactory.commit();
}
public void formulario() {
}
private List<Usuario> getUsuarios() {
return usuarios;
}
public void lista() {
usuarios = this.daoFactory.getUsuarioDao().listaTudo();
}
}
public class DaoInterceptor implements Interceptor {
private final DaoFactory factory = new DaoFactory();
public DaoInterceptor() {
}
public void intercept(LogicFlow flow) throws LogicException, ViewException {
flow.execute();
if(factory.hasTransaction()) {
factory.rollback();
}
factory.close();
}
@Out(key="br.com.caelum.lojavirtual.dao.DaoFactory")
public DaoFactory getFactory() {
return factory;
}
}
Eu não sei nem o que mostrar pra vocês, mas... Vão perguntando e eu vou respondendo, até encontrarmos o erro. O problema então é: no jsp não mostra a lista de usuários, id e login, tá uma lista vazia. Eu já olhei no banco e está lá todos usuários.
Até mais, []'s