Boa noite,
Estou fazendo um cadastro de clientes, utilizando JSF 2 e primefaces na parte web, e EJB com JBoss 6 na parte do servidor. A parte do servidor esta perfeita, entretanto a web apresenta algum problema relacionado ao ManagedBean, acredito que esteja no browser, na linha 48, quando ele tenta acessar a lista, me parece que a classe clienteMB não esta sendo criada ou injetada, a mensagem de erro é a seguinte:
“Não foi possível criar o bean gerenciado clienteMB. Os seguintes problemas foram encontrados: - O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.”
Alguem poderia me ajudar, estou dois dias nisso e nao consigo resolver.
Obrigado pela atenção, segue os arquivos:
- Stack Trace
19:57:52,333 Grave [javax.enterprise.resource.webcontainer.jsf.managedbean] O JSF estará indisponível para criar o bean gerenciado clienteMB quando ele for solicitado. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
19:57:52,333 Grave [javax.enterprise.resource.webcontainer.jsf.application] Error Rendering View[/browser.xhtml]: com.sun.faces.mgbean.ManagedBeanCreationException: Não foi possível criar o bean gerenciado clienteMB. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:261) [:2.0.3-]
at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:191) [:2.0.3-]
at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:73) [:2.0.3-]
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175) [:1.0.0.Final]
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71) [:2.0.3-]
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:67) [:6.1.0.Final]
at org.apache.el.parser.AstValue.getTarget(AstValue.java:71) [:6.1.0.Final]
at org.apache.el.parser.AstValue.getType(AstValue.java:56) [:6.1.0.Final]
at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:175) [:6.1.0.Final]
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:95) [:2.0.3-]
at org.primefaces.component.datatable.DataTable.isLazy(DataTable.java:968) [:]
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:191) [:]
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:108) [:]
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650) [:2.0.3-]
at javax.faces.render.Renderer.encodeChildren(Renderer.java:164) [:2.0.3-]
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849) [:2.0.3-]
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57) [:]
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45) [:]
at org.primefaces.component.dialog.DialogRenderer.encodeContent(DialogRenderer.java:173) [:]
at org.primefaces.component.dialog.DialogRenderer.encodeMarkup(DialogRenderer.java:103) [:]
at org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:41) [:]
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) [:2.0.3-]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646) [:2.0.3-]
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389) [:2.0.3-]
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127) [:2.0.3-]
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117) [:2.0.3-]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) [:2.0.3-]
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) [:2.0.3-]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) [:2.0.3-]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Unknown Source) [:1.7.0]
19:57:52,350 Grave [javax.enterprise.resource.webcontainer.jsf.managedbean] O JSF estará indisponível para criar o bean gerenciado clienteMB quando ele for solicitado. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
19:57:52,350 Grave [javax.enterprise.resource.webcontainer.jsf.managedbean] O JSF estará indisponível para criar o bean gerenciado clienteMB quando ele for solicitado. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
19:57:52,350 Grave [javax.enterprise.resource.webcontainer.jsf.managedbean] O JSF estará indisponível para criar o bean gerenciado clienteMB quando ele for solicitado. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- O bean ou a classe da propriedade br.com.empresa.helpers.ClienteMB do bean gerenciado clienteMB não pôde ser encontrada.
- Faces config
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.1" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">
<managed-bean>
<managed-bean-name>clienteMB</managed-bean-name>
<managed-bean-class>br.com.empresa.helpers.ClienteMB</managed-bean-class>
<managed-bean-scope>view</managed-bean-scope>
</managed-bean>
</faces-config>
- Browser.xhtml
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
template="/resources/arquivos/modelos/decorador.xhtml">
<ui:define name="titulo">Bem-vindo</ui:define>
<ui:define name="conteudo">
<p:dialog header="Manutenção de Cliente"
draggable="true" widgetVar="browser"
visible="true" rendered="true" closable="true" width="1400" maximizable="true">
<p:toolbar id="tlbAcoes">
<p:toolbarGroup align="left">
<h:form prependId="false" id="frmToolbar" >
<p:commandButton
id="btnNovo"
value="Novo"
update=":frmToolbar:btnNovo :frmFicha:infosFicha: :frmFicha:tabview:tabTelefone :frmFicha:tlbAcoesFicha"
actionListener="#{clienteMB.prepararCriar(actionEvent)}"
image="ui-icon-document"
oncomplete="ficha.show()" >
</p:commandButton>
<p:commandButton
id="btnAlterar"
actionListener="#{clienteMB.prepararAlterar(actionEvent)}"
value="Alterar"
update=":frmFicha:infosFicha :frmFicha:tlbAcoesFicha"
oncomplete="ficha.show()"
image="ui-icon-pencil"
process="@this"/>
<p:commandButton
id="btnExluir"
actionListener="#{clienteMB.prepararExcluir(actionEvent)}"
value="Excluir"
oncomplete="handleRequestExcluir(xhr, status, args);"
image="ui-icon-trash" update=":growl"/>
</h:form>
</p:toolbarGroup>
</p:toolbar>
<h:form prependId="false" id="form">
<p:dataTable id="tabela"
var="cliente"
value="#{clienteMB.lista}"
rowKey="#{cliente.id}"
paginator="true" rows="15" sortBy="#{cliente.codigo}"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="5,10,15,20,24" selectionMode="single" pageLinks="10" emptyMessage="Nenhum registro encontrado" dblClickSelect="false"
selection="#{clienteMB.selecionado}">
<p:ajax event="rowSelect" update=":frmToolbar:btnAlterar :frmToolbar:btnExluir" />
<p:ajax event="rowUnselect" update=":frmToolbar:btnAlterar :frmToolbar:btnExluir"/>
<p:column id="campologin" sortBy="#{cliente.codigo}" filterBy="#{cliente.codigo}" style="width: 0%">
<f:facet name="header"><h:outputText value="Código"/></f:facet>
<h:outputText value="#{cliente.codigo}"/>
</p:column>
<p:column style="width: 0%" sortBy="#{cliente.cnpj}" filterBy="#{cliente.cnpj}">
<f:facet name="header"><h:outputText value="CNPJ"/></f:facet>
<h:outputText value="#{cliente.cnpj}"/>
</p:column>
<p:column style="width: 30%" sortBy="#{cliente.razaosocial}" filterBy="#{cliente.razaosocial}">
<f:facet name="header"><h:outputText value="Razão Social"/></f:facet>
<h:outputText value="#{cliente.razaosocial}"/>
</p:column>
<p:column sortBy="#{cliente.nomefantasia}" filterBy="#{cliente.nomefantasia}" style="width: 30%">
<f:facet name="header"><h:outputText value="Nome"/></f:facet>
<h:outputText value="#{cliente.nomefantasia}"/>
</p:column>
<p:column sortBy="#{cliente.email}" filterBy="#{cliente.email}" style="width: 20%">
<f:facet name="header"><h:outputText value="E-mail"/></f:facet>
<h:outputText value="#{cliente.email}"/>
</p:column>
<p:column filterBy="#{cliente.tipoCliente.descricao}" style="width: 13%">
<f:facet name="header"><h:outputText value="Tipo Cliente"/></f:facet>
<h:outputText value="#{cliente.tipoCliente.descricao}"/>
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
<p:hotkey bind="esc" handler="browser.hide()"></p:hotkey>
<h:form prependId="false" id="dlg">
<p:confirmDialog widgetVar="confirmationExcluir"
header="Aviso"
message="Deseja realmente excluir este registro?"
severity="alert">
<p:commandButton value="Sim" update=":form:tabela :tlbAcoes :growl"
actionListener="#{sistemaUsuario.exclui(actionEvent)}"
oncomplete="confirmationExcluir.hide()"
process="@form"/>
<p:commandButton value="Não"
onclick="confirmationExcluir.hide()"
type="button"/>
</p:confirmDialog>
</h:form>
<ui:decorate template="ficha.xhtml"/>
<script type="text/javascript">
function handleRequestExcluir(xhr, status, args) {
if(!args.validationFailed) {
confirmationExcluir.show();
}
}
</script>
</ui:define>
</ui:composition>
- ManagedBean
package br.com.empresa.helpers;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
import br.com.empresa.controle.bean.ControleClienteLocal;
import br.com.empresa.modelo.enumerado.Estados;
import br.com.empresa.modelo.enumerado.QualificacaoCliente;
import br.com.empresa.modelo.enumerado.TipoLogradouro;
import br.com.empresa.modelo.pojo.Cliente;
import br.com.empresa.modelo.pojo.EnderecoCliente;
import br.com.empresa.modelo.pojo.Municipio;
import br.com.empresa.modelo.pojo.TipoCliente;
import br.com.empresa.utils.FacesUtil;
@ManagedBean
@ViewScoped
public class ClienteMB implements Serializable {
private static final long serialVersionUID = -95573517486958333L;
@EJB(mappedName = "ControleCliente/local")
private ControleClienteLocal controleClienteLocal;
private LazyClienteDataModel lista;
private Cliente cliente;
private boolean incluindo;
private Cliente selecionado;
private EnderecoCliente enderecoCliente;
private String tipoClienteSelecionado;
private List<SelectItem> listaQualificacaoCliente;
private String qualificacaoSelecionada = "";
private String municipioSelecionado;
private List<SelectItem> listaTipoLogradouro;
private String tipoLogradouroSelecionada = "";
private String clienteSelecionado;
private List<SelectItem> listaEstados;
private String estadosSelecionado = "";
public List<SelectItem> getListaEstados() {
if (this.listaEstados == null) {
this.listaEstados = new ArrayList<SelectItem>();
this.listaEstados.add(new SelectItem("UF", "Selecione"));
for (Estados e : Estados.values()) {
this.listaEstados
.add(new SelectItem(e.ordinal(), e.toString()));
}
}
return listaEstados;
}
public void setListaEstados(List<SelectItem> listaEstados) {
this.listaEstados = listaEstados;
}
public String getMunicipioSelecionado() {
return municipioSelecionado;
}
public void setMunicipioSelecionado(String municipioSelecionado) {
this.municipioSelecionado = municipioSelecionado;
}
public List<Municipio> getListaMunicipios() {
List<Municipio> listaMunicipios = new ArrayList<Municipio>();
return listaMunicipios;
}
public List<SelectItem> getListaTipoLogradouro() {
if (this.listaTipoLogradouro == null) {
this.listaTipoLogradouro = new ArrayList<SelectItem>();
this.listaTipoLogradouro.add(new SelectItem("", "Selecione"));
for (TipoLogradouro tl : TipoLogradouro.values()) {
this.listaTipoLogradouro.add(new SelectItem(tl.ordinal(), tl
.toString()));
}
}
return listaTipoLogradouro;
}
public void setListaTipoLogradouro(List<SelectItem> listaTipoLogradouro) {
this.listaTipoLogradouro = listaTipoLogradouro;
}
public String getTipoLogradouroSelecionada() {
return tipoLogradouroSelecionada;
}
public void setTipoLogradouroSelecionada(String tipoLogradouroSelecionada) {
this.tipoLogradouroSelecionada = tipoLogradouroSelecionada;
}
public EnderecoCliente getEnderecoCliente() {
return enderecoCliente;
}
public void setEnderecoCliente(EnderecoCliente enderecoCliente) {
this.enderecoCliente = enderecoCliente;
}
public List<TipoCliente> getListaTiposClientes() {
List<TipoCliente> listaTipoCliente = new ArrayList<TipoCliente>();
try {
listaTipoCliente = controleClienteLocal.buscarTodosTipoCliente();
} catch (Exception ex) {
FacesUtil.mensagemErro(
"Erro",
"Erro ao executar recupera todos os tipos clientes ["
+ ex.getMessage() + "]");
}
return listaTipoCliente;
}
public String getTipoClienteSelecionado() {
return tipoClienteSelecionado;
}
public void setTipoClienteSelecionado(String tipoClienteSelecionado) {
this.tipoClienteSelecionado = tipoClienteSelecionado;
}
public List<SelectItem> getListaQualificacaoCliente() {
if (this.listaQualificacaoCliente == null) {
this.listaQualificacaoCliente = new ArrayList<SelectItem>();
this.listaQualificacaoCliente.add(new SelectItem("", "Selecione"));
for (QualificacaoCliente qf : QualificacaoCliente.values()) {
this.listaQualificacaoCliente.add(new SelectItem(qf.ordinal(),
qf.toString()));
}
}
return listaQualificacaoCliente;
}
public String getQualificacaoSelecionada() {
return qualificacaoSelecionada;
}
public void setQualificacaoSelecionada(String qualificacaoSelecionada) {
this.qualificacaoSelecionada = qualificacaoSelecionada;
}
public boolean isSelected() {
return (this.getSelecionado() != null);
}
public void prepararCriar(ActionEvent actionEvent) {
this.incluindo = true;
this.setCliente(new Cliente());
}
public void prepararAlterar(ActionEvent actionEvent) {
this.incluindo = false;
this.setCliente(this.selecionado);
}
public boolean permiteSelecionar() {
return this.isSelected();
}
public void prepararSelecionar(javax.faces.event.ActionEvent actionEvent) {
this.incluindo = false;
this.cliente = this.selecionado;
}
public void cancelar(ActionEvent actionEvent) {
this.cliente = null;
}
public void prepararExcluir(ActionEvent actionEvent) {
this.incluindo = false;
this.setCliente(this.selecionado);
}
public void cria(ActionEvent actionEvent) {
try {
this.controleClienteLocal.buscarTodosTipoCliente();
this.controleClienteLocal.criar(this.cliente);
FacesUtil.mensagemInformacao("Informação",
"Cliente inserido com sucesso");
} catch (Exception ex) {
FacesUtil.mensagemErro("Erro",
"Erro ao criar cliente [" + ex.getMessage() + "]");
}
this.selecionado = null;
}
public void altera(ActionEvent actionEvent) {
try {
this.controleClienteLocal.buscarTodosTipoCliente();
this.controleClienteLocal.alterar(this.cliente);
FacesUtil.mensagemInformacao("Informação",
"Cliente alterado com sucesso");
} catch (Exception ex) {
FacesUtil.mensagemErro("Erro",
"Erro ao alterar cliente [" + ex.getMessage() + "]");
}
}
public void exclui(ActionEvent actionEvent) {
try {
this.controleClienteLocal.apagar(this.cliente);
FacesUtil.mensagemInformacao("Informação",
"Cliente excluída com sucesso");
} catch (Exception ex) {
FacesUtil.mensagemErro("Erro",
"Erro ao excluir cliente [" + ex.getMessage() + "]");
}
this.selecionado = null;
this.cliente = null;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public boolean isIncluindo() {
return incluindo;
}
public void setIncluindo(boolean incluindo) {
this.incluindo = incluindo;
}
public LazyClienteDataModel getLista() {
if (lista == null) {
lista = new LazyClienteDataModel(this.controleClienteLocal);
}
if (selecionado != null) {
selecionado = (Cliente) lista.getRowData(selecionado.getId()
.toString());
}
return lista;
}
public void setLista(LazyClienteDataModel lista) {
this.lista = lista;
}
public Cliente getSelecionado() {
return selecionado;
}
public void setSelecionado(Cliente selecionado) {
this.selecionado = selecionado;
}
public ControleClienteLocal getControleClienteLocal() {
return controleClienteLocal;
}
public void setControleClienteLocal(
ControleClienteLocal controleClienteLocal) {
this.controleClienteLocal = controleClienteLocal;
}
public String getClienteSelecionado() {
return clienteSelecionado;
}
public void setClienteSelecionado(String clienteSelecionado) {
this.clienteSelecionado = clienteSelecionado;
}
}