hyr4x
Setembro 1, 2009, 1:02am
#1
Alguém sabe dizer como utilizar os interceptadores do vraptor3?
Basta implementar a classe Interceptor e anotar com @Intercepts ? Tentei inclusive usar o exemplo da documentação mas não funcionou.
@Intercepts
@RequestScoped
public class Log implements Interceptor {
private final HttpServletRequest request;
public Log(HttpServletRequest request) {
this.request = request;
}
public void intercept(InterceptorStack stack, ResourceMethod method,
Object resourceInstance) throws InterceptionException {
System.out.println("Interceptando " + request.getRequestURI());
stack.next(method, resourceInstance);
}
public boolean accepts(ResourceMethod method) {
return true;
}
}
Minha idéia inicial é dar um commit na transação do hibernate e tratar os possíveis erros.
Desde já agradeço!
O jeito de usar interceptors é esse mesmo…
tenta lançar uma exception no interceptor pra ver se ele está sendo chamado…
deu certo o interceptador?
hyr4x
Setembro 1, 2009, 4:42pm
#4
Consegui resolver.
Ainda não sei o que de fato impediu o interceptador ser executado, mas depois que adicionei um input no meu formulário que mapeia a propriedade versao da minha entidade, tudo voltou a funcionar.
<fieldset id="pessoal">
<input type="hidden" name="cliente.id" value="${cliente.id}"/>
<input type="hidden" name="cliente.versao" value="${cliente.versao}"/>
<label><span>*</span>Nome:<input type="text" name="cliente.nome" value="${cliente.nome}"/></label>
<label>Email:<input type="text" name="cliente.email" value="${cliente.email}"/></label>
</fieldset>
Acredito que estava sendo lançada uma HibernateException.
Aproveitando a deixa, tem como integrar umas taglibs mais aprimoradas (icefaces, richfaces…) com o vraptor3?
Valeu pessoal!
TUdo bem?
As taglibs do ice e do rich sao para jsf que é uma maneira de desenvolver (voltada a componentes) diferente da voltada a recursos ou ações (vraptor).
abraço