1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro de Target Unreachable usando JavaServer Faces

Olá Pessoal, minha primeira pergunta aqui e apesar de ter procurado bastante não consegui resolver o erro ainda! Estou estudando Desenvolvimento Web em Java e ao tentar replicar um exemplo do meu professor para entender melhor o código e como foi a execução do procedimento estou recebendo essa mensagem de erro e não consigo resolver.

/index.xhtml @15,81 value="#{calculadoraManagedBean.calculadora.n1}": Target Unreachable, 'calculadora' returned null

Vou mostrar abaixo os códigos e os nomes dos arquivos

index.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">

<html xlmns="http://www.w3.org/1999/xhtml"
    xlmns:h="http://java.sun.com/jsf/html"
    xlmns:f="http://java.sun.com/jsf/core">

<h:head>
<h:title>Entrada Calculadora JSF</h:title>
</h:head>

<h:body>
    <h:form>
        <h:outputLabel value="Numero 1" />
        <h:inputText value="#{calculadoraManagedBean.calculadora.n1} /><p/>
        <h:outputLabel value="Numero 2" />
        <h:inputText value="#{calculadoraManagedBean.calculadora.n2} /><p/>
        <h:commandButton value="OK" action="#{calculadoraManagedBean.somar} />
    </h:form>
</h:body>
</html>

Calculadora.java

package br.edu.anhanguera.modelo;

import java.io.Serializable;

public class Calculadora implements Serializable {
    private static final long serialVersionUID = 1L;
    private float n1;
    private float n2;
    private float resultado;

    public void somar() {
        this.resultado = this.n1 + this.n2;
    }

    public float getN1() { return this.n1; }
    public void setN1(float n1) { this.n1 = n1; }
    public float getN2() { return this.n2; }
    public void setN2(float n2) { this.n2 = n2; }
    public float getResultado() { return this.n1; }
}

CalculadoraManagedBean.java

package br.edu.anhanguera.managedBean;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import br.edu.anhanguera.modelo.Calculadora;

@ManagedBean(name = "calculadoraManagedBean")
@RequestScoped
public class CalculadoraManagedBean implements Serializable {
    private static final long serialVersionUID = 1L;
    private Calculadora calculadora;

    public void Calculadora() {
        this.calculadora = new Calculadora();
    }

    public String somar() {
        this.calculadora.somar();
        return "saida";
    }

    public Calculadora getCalculadora() {
        return calculadora;
    }

    public void setCalculadora(Calculadora calculadora) {
        this.calculadora = calculadora;
    }
}

saida.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">

<html xlmns="http://www.w3.org/1999/xhtml"
    xlmns:h="http://java.sun.com/jsf/html"
    xlmns:f="http://java.sun.com/jsf/core">

<h:head>
<h:title>Saida Calculadora JSF</h:title>
</h:head>

<h:body>
    <h:outputText value="Resultado: #{calculadoraManagedBean.calculadora.resultado} /><br/>
</h:body>
</html>

Estou usando o Eclipse Kepler (4.3.2) como server estou usando Tomcat v7.0 e como biblioteca de framework estou usando 2 arquivos "javax.faces-2.1.7.jar" e "jstl.jar". Não estou conseguindo entender onde está meu erro, por favor alguém pode me ajudar!?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java jsf null ou faça a sua própria pergunta.