Bean nao encontrado

2 respostas
oberilo
.Estou fazendo uma aplicação usando Eclipse + myfaces , mapeio o bean no faces-config , mas gera um erro . Se alguem ja passou por isso e resolveu pode me ajudar ?

Aqui o bean :

public class Login {

private String nome;
private String matricula;

public Login(){}

public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getMatricula() {
	return matricula;
}
public void setMatricula(String matricula) {
	this.matricula = matricula;
}

}

aqui o faces-config :

login br.com.macavi.modelo.Login session

e o codigo da pagina jsf :

<f:view>
<h:form>
Nome : <h:inputText value="#{login.nome}"/>
Matricula : <h:inputText value="#{login.matricula}"/>
</h:form>
</f:view>

o erro :

com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean login.  The following problems were found:

- Bean or property class br.com.macavi.modelo.Login for managed bean login cannot be found.

com.sun.faces.mgbean.BeanManager.create(BeanManager.java:204)

com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:88)

javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)

com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)

org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)

org.apache.el.parser.AstValue.getValue(AstValue.java:86)

org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)

org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)

javax.faces.component.UIOutput.getValue(UIOutput.java:184)

com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:284)

com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:154)

javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:946)

javax.faces.render.Renderer.encodeChildren(Renderer.java:148)

javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)

javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)

com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)

com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202)

com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)

com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

Agradeço a ajuda .

2 Respostas

MakinoJapa

Bem, não sei se pode ser isso..
Mas aqui colocamos a notação @Name na classe que trabalhará como Bean..

Por exemplo:

@Synchronized(timeout=[telefone removido])
@Name("participanteBean")
@Scope(ScopeType.SESSION)
public class ParticipanteBean {

}

E no xhtml:

<h:selectOneMenu
       id="comboEstado" value="#{participanteBean.estadoSelecionado}"
       style="width:301px;" onkeypress="PermitirValidacao(this, this.form, event);"
       styleClass="caixatextoCadastro" >
       <f:selectItems value="#{participanteBean.listaEstados}" />
</h:selectOneMenu>

E dá certinho...

Tenta colocar um @Name("login") aí no seu.... :wink:

oberilo

Valeu pelo toque cara, tentei mas nao resolveu !

Criado 1 de abril de 2009
Ultima resposta 2 de abr. de 2009
Respostas 2
Participantes 2