SEVERE: Servlet.service() for servlet [facesServlet] in context with path [/ProjetoOlimpio] threw exception [Expression Error: Named Object: tipoAcaoConverter not found.] with root cause
javax.faces.FacesException: Expression Error: Named Object: tipoAcaoConverter not found.
at com.sun.faces.application.ApplicationImpl.createConverte
Você o deixou como ManagedBean, portanto precisa referenciá-lo com EL.
Altere disso:converter="tipoAcaoConverter" para isso: converter="#{tipoAcaoConverter}"
H
Hebert_Coelho
Rodrigo Sasaki:
Você o deixou como ManagedBean, portanto precisa referenciá-lo com EL.
Altere disso:converter="tipoAcaoConverter" para isso: converter="#{tipoAcaoConverter}"
caso não funcione, tente anotar teu converter com @FacesConverter.
R
rogerioeerr
acho que para ser um conveter deveria seguir o modelo adotado pelo faces algo do tipo
Esse é o modo correto.
Mas quando se precisa injetar alguma coisa dentro do Converter, até a versão atual do JSF, isso não é possível.
A saída (POG recomendada por muitos, mas muitos mesmo) é de anotar o Converter como MB.
R
rogerioeerr
verdade sei que não se pode injetar Ejbs através de um converter, entaum eu faço um lookup para tal
R
Rodrigo_Sasaki
É, essas geralmente são as 2 soluções apontadas, ou você faz um lookup (através de um Service Locator, ou até na mão mesmo), ou anota seu Converter/Validator como ManagedBean.
Na versão 2.2 do JSF, já será suportada injeção em Converters e Validators, mas por enquanto, tem que ser feito algum “workaround”
D
d34d_d3v1l
Galera…
Como estou usando Spring, eu resolvi assim:
@Component@Scope("request")
e na view eu coloquei o # { } que eu tinha esquecido