Pelo o que eu sei, somente os @SessionScoped são acessados por EL (posso estar enganado)
Mas existe solução sim. Cria um interceptor que vai receber essa classe no construtor e depois você joga ela para a view usando o result.include(“varNaEL”, instancia);
M
Maiconfz
Rafael Guerreiro:
Pelo o que eu sei, somente os @SessionScoped são acessados por EL (posso estar enganado)
Mas existe solução sim. Cria um interceptor que vai receber essa classe no construtor e depois você joga ela para a view usando o result.include(“varNaEL”, instancia);
Eu faria desse modo também.
alias
Rafael Guerreiro:
Pelo o que eu sei, somente os @SessionScoped são acessados por EL (posso estar enganado)
Mas existe solução sim. Cria um interceptor que vai receber essa classe no construtor e depois você joga ela para a view usando o result.include(“varNaEL”, instancia);
Rafael Guerreiro:
Pelo o que eu sei, somente os @SessionScoped são acessados por EL (posso estar enganado)
Mas existe solução sim. Cria um interceptor que vai receber essa classe no construtor e depois você joga ela para a view usando o result.include(“varNaEL”, instancia);
Obrigado, cara . Eu estou anotando a classe como @ApplicationScoped (desculpe, faltou isso no codigo que postei), é um escopo maior que o SessionScoped né…então não deveria funcionar?
mas se desse pra acessar na EL direto era bom né :lol: …não tem jeito mesmo nao?
Valeu amigos.
Rafael_Guerreiro
Espera… Antes de você criar o interceptor, ela não estava anotada com @ApplicationScoped?
alias
Sim, já estava anotada com @ApplicationScoped. Daí veio minha duvida, se esse cara deveria ser visivel no JSP…
Lucas_Cavalcanti
Olá alias,
o Environment não deveria estar disponível nos jsps por padrão mesmo. O fato dos componentes @SessionScoped (e @RequestScoped também) serem acessíveis via jsp é um bug que virou feature o Spring gerencia esses escopos colocando atributos na sessão e no request, e a gente acabou levando isso pros outros providers também…
já o applicationScoped a gente resolveu não fazer isso, por ser um componente mais geral que não tem a ver com requests. Mas vc pode resolver isso recebendo um servletContext no construtor e usando um método @PostConstruct assim:
o Environment não deveria estar disponível nos jsps por padrão mesmo. O fato dos componentes @SessionScoped (e @RequestScoped também) serem acessíveis via jsp é um bug que virou feature o Spring gerencia esses escopos colocando atributos na sessão e no request, e a gente acabou levando isso pros outros providers também…
já o applicationScoped a gente resolveu não fazer isso, por ser um componente mais geral que não tem a ver com requests. Mas vc pode resolver isso recebendo um servletContext no construtor e usando um método @PostConstruct assim:
então Lucas eu imaginei que o Environment já estaria disponível dentro do ServletContext, dessa forma acessível no JSP. Eu acho razoável o que voce disse (que os objetos @ApplicationScoped não tem lá muito a ver com requests), mas por outro lado o próprio funcionamento do JSP garante que os objetos do escopo do contexto são visíveis para a EL…então não seria correto expor esses objetos da mesma forma que os @Session e @Request? Ou o Spring não coloca mesmo esses objetos @ApplicationScoped como atributos do contexto?
Aí Lucas tive aula na Caelum ano passado contigo mano :lol: , de EJB. Mundo pequeno, hehe. Valeu pela dica.
Lucas_Cavalcanti
até poderíamos colocar no contexto sim… abre lá uma issue:
Pois eh… mundo pequeno
alias
Beleza Lucas criei a feature lá…se sobrar um tempinho vou ver se rola de eu fazer um fork lá e implementar essa bagaça aí , de qualquer forma acho que seria uma feature interessante e útil.