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:
<display:table id=“usuario” name="${usuarios}" requestURI=“usuario.lista.logic”>
<display:column property=“id” sortable=“true”/>
<display:column property=“login” />
</display:table>
Isso deveria buscar a lista de usuários da classe UsuarioLogic e listar na tela, mas tá retornando uma lista vazia:
UsuarioLogic:
[code]@Component
@InterceptedBy(DaoInterceptor.class)
public class UsuarioLogic {
public final DaoFactory daoFactory;
private List 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();
}
}[/code]
DaoInterceptor:
[code]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;
}
}[/code]
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