Olá pessoal,
Já faz alguns dias que estou tentando executar minha primeira aplicação Java Web no Netbeans 6.9.1. O projeto se chama “TrabComJSF”. Ao executar o projeto, aparece o seguinte report no browser:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: /trabComJSF.jsp(26,16) ‘#{controle.meuBean.nome}’ Property ‘meuBean’ not found on type br.com.integrator.controller.Controle
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
root cause
org.apache.jasper.el.JspPropertyNotFoundException: /trabComJSF.jsp(26,16) ‘#{controle.meuBean.nome}’ Property ‘meuBean’ not found on type br.com.integrator.controller.Controle
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:104)
javax.faces.component.UIOutput.getValue(UIOutput.java:173)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:189)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:320)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:200)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:896)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29
Apresento o conteúdo dos arquivos: MeuBean.java, Controle.java, faces-config.xml, trabComJSF.jsp e boasVindas.jsp
Conteúdo de MeuBean.java:
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.integrator;
/**
*
-
@author butterflysun
*/
public class MeuBean {private String nome;
public MeuBean() {
}
/**
-
@return the nome
*/
public String getNome() {
return nome;
}
/**
-
@param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
-
@return the nome
}
Conteúdo de Controle.java:
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.integrator.controller;
import br.com.integrator.MeuBean;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
/**
*
-
@author butterflysun
*/
public class Controle {private MeuBean meuBean;
// get e set omitido
// em caso de dúvida, veja o código fonte// inicia o bean public Controle() { meuBean = new MeuBean(); }
// método que será acionado pelo botão public String acao() { boolean sucesso = true; FacesContext context = FacesContext.getCurrentInstance(); if (meuBean.getNome() != null) { for (int i = 0; i < meuBean.getNome().length(); i++) { char c = meuBean.getNome().charAt(i); if (!Character.isLetter© && !Character.isSpaceChar©) { String msg = “Digite somente caracteres alfabéticos”; FacesMessage message = new FacesMessage(msg); context.addMessage(“formulario”, message); sucesso = false; break; } } } else { sucesso = false; } return (sucesso ? “sucesso”:“falha”); }
}
Conteúdo de faces-config.xml:
<?xml version='1.0' encoding='UTF-8'?>
controle
br.com.integrator.controller.Controle
session
<navigation-rule>
<from-view-id>/trabComJSF.jsp</from-view-id>
<navigation-case>
<from-outcome>sucesso</from-outcome>
<to-view-id>/boasVindas.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>falha</from-outcome>
<to-view-id>/trabComJSF.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Conteúdo de trabComJSF.jsp:
<%–
Document : trabComJSF
Created on : 25/08/2010, 16:40:08
Author : butterflysun
–%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@taglib uri=“http://java.sun.com/jsf/html”
prefix=“h”%>
<%@taglib uri=“http://java.sun.com/jsf/core”
prefix=“f”%>
<f:view>
<h:form id ="formulario">
Digite seu nome:
<h:inputText id="nome"
value="#{controle.meuBean.nome}"
required="true" />
<h:commandButton
action = "#{controle.acao}"
value = "Enviar"
id = "submit" />
<br/>
<h:messages/>
</h:form>
</f:view>
</body>
Conteúdo de boasVindas.jsp:
<%–
Document : boasVindas
Created on : 25/08/2010, 16:57:45
Author : butterflysun
–%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@taglib uri=“http://java.sun.com/jsf/html”
prefix=“h”%>
<%@taglib uri=“http://java.sun.com/jsf/core”
prefix=“f”%>
Olá
</body>
Devo confessar que não faço a mínima ideia da origem deste problema. Enquanto posto esta dúvida no fórum, continuarei a perseguir a correção desta exceção.
Qualquer comentário relevante é bem-vindo!
Por favor, eu preciso de uma luz.
Atenciosamente,
markone