GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Problema ao implementar PhaseListener
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
19/12/2011 14:43:05
Assunto:
Problema ao implementar PhaseListener
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
Pessoal qual o efeito colateral quando implemento a interface PhaseListener e sobrescrevo o site método desta forma:
@Override public PhaseId getPhaseId() { return PhaseId.RESTORE_VIEW; }
O que aconteceu comigo foi que parou de funcionar:
<f:ajax render="instrutor" event="change" listener="#{turmaBean.alterarComboBoxEstado}"/>
Quando adicionei o atributo immediate=true consegui desparar o evento porém, ele não submete o valor correto da combo.
Segue abaixo a minha implementação que encontrei num blog:
package sigpr.web.view.filter; import javax.faces.context.FacesContext; import javax.faces.event.PhaseEvent; import javax.faces.event.PhaseId; import javax.faces.event.PhaseListener; import javax.servlet.ServletContext; import org.hibernate.FlushMode; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.dao.DataAccessResourceFailureException; import org.springframework.orm.hibernate3.SessionFactoryUtils; import org.springframework.orm.hibernate3.SessionHolder; import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class HibernateRestoreViewPhaseListener implements PhaseListener { private static final long serialVersionUID = 1L; protected Session getSession(SessionFactory sessionFactory) throws DataAccessResourceFailureException { Session session = SessionFactoryUtils.getSession(sessionFactory, true); session.setFlushMode(FlushMode.MANUAL); return session; } protected SessionFactory lookupSessionFactory() { FacesContext context = FacesContext.getCurrentInstance(); ServletContext servletContext = (ServletContext) context.getExternalContext().getContext(); WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(servletContext); return (SessionFactory) wac.getBean("sessionFactory", SessionFactory.class); } @Override public void afterPhase(PhaseEvent event) { } @Override public void beforePhase(PhaseEvent event) { SessionFactory sessionFactory = lookupSessionFactory(); if (!TransactionSynchronizationManager.hasResource(sessionFactory)) { Session session = getSession(sessionFactory); TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session)); } } @Override public PhaseId getPhaseId() { return PhaseId.RESTORE_VIEW; } }
Sun Certified Java Programmer 98%
20/12/2011 09:45:49
Assunto:
Re:Problema ao implementar PhaseListener
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
Pessoal..Alguém pode me ajudar!
Sun Certified Java Programmer 98%
20/12/2011 12:32:29
Assunto:
Re:Problema ao implementar PhaseListener
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
gente...
Por que depois que implementei phase o ajax parou de funcionar ?
Sun Certified Java Programmer 98%
Índice dos Fóruns
»
Desenvolvimento Web
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team