Boa noite,
Estou tendo problemas em receber os valores do controller preenchidos ao usar o Intercept do Vraptor4:
@Intercepts
@RequestScoped
public class SessionInterceptor {
@Inject private Result result;
@Inject private Validator validator;
@Inject private Environment environment;
@Inject private Session session;
@Inject private HttpServletRequest request;
@Inject private HttpSession javaSession;
@AroundCall
public void intercept ( SimpleInterceptorStack stack ) {
if (!session.isNew()) {
result.include( "isLogged", session.isLogged( ) );
result.include( "clientName", session.getClientName( ) );
}
javaSession = request.getSession();
if (!javaSession.isNew()) {
Session sessionTemp = (Session) javaSession.getAttribute("session");
if (sessionTemp != null && !session.isNew()) {
session = sessionTemp;
} else if (sessionTemp == null && session.isNew()) {
session = new Session();
} else {
javaSession.setAttribute("session", session);
}
} else {
session = new Session();
}
System.out.println( "Intercept enter: " + request.getRequestURI( ) );
stack.next();
javaSession.setAttribute("session", session);
System.out.println( "Intercept exit: " + request.getRequestURI( ) );
}
}
@Controller
public class IndexController {
@Inject private Result result;
@Inject private Environment environment;
@Inject private Validator validator;
@Inject private Session session;
@Path( "/" )
public void index( ) {
if (session.isNew()) {
session.setNew(false);
if(session.getLanguage() == null) {
session.setLanguage("pt");
System.out.println(Locale.getDefault());
}
if (session.getApplication() == null) {
session.setApplication(Application.valueOf(environment.get("application").toUpperCase()));
}
}
}
}
Os valores no Interceptor depois do stack.next() do session sempre chegam vazios. Já tentei de tudo e não consigo resolver.
--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.