[RESOLVIDO] NullPointer - JSF - Primefaces

Boa noite galera, estou fazendo uma simples calculadora de imc e estou tendo um problema com NullPointer em jsf, parece ser algo bem simples, mas não estou conseguindo resolver . Ai vai o código.

package modelo.dominio;

public class Pessoa {

private Float altura ;
private Float peso ;
private String tipopessoa;





public Float getAltura() {
	return altura;
}
public void setAltura(Float altura) {
	this.altura = altura;
}
public Float getPeso() {
	return peso;
}
public void setPeso(Float peso) {
	this.peso = peso;
}
public String getTipopessoa() {
	return tipopessoa;
}
public void setTipopessoa(String tipopessoa) {
	this.tipopessoa = tipopessoa;
}

------------------------------

package controle.bean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import modelo.dominio.Pessoa;

@ManagedBean(name = “pessoaMB”)
@RequestScoped
public class PessoaMB {

 private Float resultado;
 private Pessoa p = new Pessoa();

public Pessoa getP() {
	return p;
}

public void setP(Pessoa p) {
	this.p = p;
}

public Float getResultado() {
	return resultado;
}

public void setResultado(Float resultado) {
	this.resultado = resultado;
}


// Cálculo do índice de massa corporal = peso (quilos) ÷ altura² (metros)



public String calcularPessoa(){
	
	this.resultado = p.getPeso() / (p.getAltura() * p.getAltura());
	
	return "calculo.jsf";
}

}

<?xml version="1.0" encoding="ISO-8859-1" ?>

<h:head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="css/estilo.css" />
<title>Calculadora de Imc Jsf</title>

</h:head>
<h:body>

<p:panel>
<h:form>

	<p:fieldset>
		<h3 style="color: #87cefa">Calculadora de Imc</h3>
		<hr size="2" color="#87cefa"></hr>
		<p:panelGrid columns="2" style=" border:0px solid #87cefa;">
			<h:outputText for="peso" value="Digite seu peso" />
			<p:inputText id= "peso" value="#{pessoaMB.p.peso}"></p:inputText>
			<h:outputText for="altura" value="Digite sua altura" />
			<p:inputText  id="altura" value="#{pessoaMB.p.altura}"></p:inputText>
			<p:commandButton immediate="true" value="Calcular" ajax="false" action="#{pessoaMB.calcularPessoa}" />
		</p:panelGrid>
		
	</p:fieldset>

</h:form>
</p:panel>

</h:body>

Tire o immediate=“true”

<p:commandButton value="Calcular" ajax="false" action="#{pessoaMB.calcularPessoa}" />

immediate=“true” ignora o processo de validação.
Usando no h:commandButton faz com que os valores dos input não sejam atribuidos aos beans correspondentes, ou seja, p.getAltura(), p.getPeso() estarão com valores nulos. Ocorrendo esse erro na linha:

this.resultado = p.getPeso() / (p.getAltura() * p.getAltura());
1 curtida

Resolveu, obrigado amigo, tmj .