Porém ao injetar o meu clienteModel ele cria uma nova instância, como o escopo do cliente model é sessionscoped não deveria permanecer a mesma instância até a sessão terminar?
Talvez eu tenha entendido errado o conceito do sessionscoped ou estou fazendo alguma coisa errada, qm puder me explicar o q estou fazendo de errado ficarei muito grato!
Como está essa classe AbstractController? ClienteModel realmente deveria herdar dessa classe?
M
matheusYudi
Não tinha necessidade mesmo, eu já tinha tirado essa herança ontem. Mas segue a classe:
packagebr.com.recomendador.controller;importjava.io.IOException;importjava.io.Serializable;importjava.util.Map;importjavax.faces.application.FacesMessage;importjavax.faces.context.ExternalContext;importjavax.faces.context.FacesContext;importjavax.servlet.http.HttpSession;importbr.com.recomendador.exception.SystemException;publicabstractclassAbstractControllerimplementsSerializable{/** * */privatestaticfinallongserialVersionUID=6920627634033726418L;protectedFacesContextgetFacesContext(){returnFacesContext.getCurrentInstance();}protectedHttpSessiongetHttpSession(finalbooleancreate){return(HttpSession)getFacesContext().getExternalContext().getSession(create);}protectedObjectgetSessionAttribute(finalStringattributeName){returnthis.getHttpSession(true).getAttribute(attributeName);}protectedvoidsetSessionAttribute(finalStringattributeName,finalSerializableattributeValue){this.getHttpSession(true).setAttribute(attributeName,attributeValue);}protectedvoidlimparSessionAttribute(finalStringattributeName){this.getHttpSession(true).removeAttribute(attributeName);}publicvoidrenderizarTela(){StringcontextParameter=getParameterFromExternalContext("context")+".xhtml";try{this.redirect(contextParameter);}catch(Exceptione){e.printStackTrace();}}publicvoidredirect(Stringpagina)throwsSystemException{try{getExternalContext().redirect(getExternalContext().getRequestContextPath()+pagina);}catch(IOExceptione){thrownewSystemException("Erro ao realizar o redirect",e);}}privateStringgetParameterFromExternalContext(Stringcontexto){ExternalContextec=getExternalContext();Map<String,String>params=ec.getRequestParameterMap();Stringparameter="/"+params.get(contexto);returnparameter;}privateExternalContextgetExternalContext(){returngetFacesContext().getExternalContext();}protectedvoidmensagemErro(Stringmensagem){FacesContextcontext=FacesContext.getCurrentInstance();context.addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,"Erro!",mensagem));}}