Bom dia, quero trazer o resultado do imc no campo inputText mais não estou conseguindo fazer com que isso ocorra! No consóle o resultado parece mais no componente não.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/template/template.xhtml">
<ui:define name="conteudo">
<h:form id="formularioPessoa">
<p:growl id="mensagem" showDetail="true" sticky="true" />
<p:fieldset legend="Cadastro de cliente">
<h:panelGrid columns="8">
<p:outputLabel value="Nome: " for="nome" />
<p:inputText id="nome" value="#{pessoaBean.pessoa.nome}" size="30"
placeholder="Nome completo" />
<p:outputLabel value="Celular: " for="celular" />
<p:inputMask id="celular" value="#{pessoaBean.pessoa.celular}"
mask="(999) 9 9999-9999" />
<h:panelGrid columns="8" id="painelPessoa">
<p:outputLabel value="Pessoa: " for="pessoa" />
<p:selectOneMenu id="pessoa"
value="#{pessoaBean.pessoa.tipoPessoa}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItem itemValue="Juridíca" itemLabel="Juridíca" />
<f:selectItem itemValue="Fisíca" itemLabel="Fisíca" />
<p:ajax event="change" update="painelPessoa" />
</p:selectOneMenu>
<p:outputLabel value="CPF: " for="cpf"
rendered="#{pessoaBean.pessoa.tipoPessoa == 'Fisíca'}" />
<p:inputMask mask="999.999.999-99" id="cpf"
rendered="#{pessoaBean.pessoa.tipoPessoa == 'Fisíca'}"
value="#{pessoaBean.pessoa.cpf}" />
<p:outputLabel value="CNPJ: " for="cnpj"
rendered="#{pessoaBean.pessoa.tipoPessoa == 'Juridíca'}" />
<p:inputMask mask="99.999.999/9999-99" id="cnpj"
rendered="#{pessoaBean.pessoa.tipoPessoa == 'Juridíca'}"
value="#{pessoaBean.pessoa.cnpj}" />
</h:panelGrid>
</h:panelGrid>
<h:panelGrid columns="8">
<p:outputLabel value="Altura: " for="altura" />
<p:inputText id="altura" value="#{pessoaBean.pessoa.altura}" />
<p:outputLabel value="Peso: " for="peso" />
<p:inputText id="peso" value="#{pessoaBean.pessoa.peso}" />
<p:outputLabel value="Idade: " for="idade" />
<p:inputText id="idade" value="#{pessoaBean.pessoa.idade}" />
</h:panelGrid>
<h:panelGrid columns="4">
<p:outputLabel value="Cidade: " for="cidade" />
<p:inputText id="cidade"
value="#{pessoaBean.pessoa.endereco.cidade}" size="30" />
<p:outputLabel value="Bairro: " for="bairro" />
<p:inputText id="bairro"
value="#{pessoaBean.pessoa.endereco.bairro}" size="30" />
</h:panelGrid>
</p:fieldset>
<p:toolbar>
<f:facet name="left">
<p:commandButton value="Salvar"
actionListener="#{pessoaBean.salvar}"
update="formularioPessoa :formularioDialogo" />
<p:commandButton value="Buscar"
action="#{pessoaBean.formularioTabela}" />
<p:commandButton value="Limpar" type="reset" />
<span class="ui-separator"> <span
class="ui-icon ui-icon-grip-dotted-vertical" />
</span>
<p:commandButton value="Informação"
onclick="PF('pessoaDialogo').show();" />
</f:facet>
</p:toolbar>
</h:form>
<p:dialog appendTo="@(body)" modal="true" resizable="false"
closable="true" draggable="false" widgetVar="pessoaDialogo"
header="Informação">
<h:form id="formularioDialogo">
<p:dataTable emptyMessage="Nenhum Cliente encontrado"
value="#{pessoaBean.listaPessoas}" var="pessoa">
<p:column headerText="Nome">
<h:outputText value="#{pessoa.nome}" />
</p:column>
<p:column headerText="Celular">
<h:outputText value="#{pessoa.celular}" />
</p:column>
<p:column headerText="Peso">
<h:outputText value="#{pessoa.peso}" />
</p:column>
<p:column headerText="Altura">
<h:outputText value="#{pessoa.altura}" />
</p:column>
<p:column headerText="Pesquisar">
<p:commandButton value="Calcular imc"
actionListener="#{pessoaBean.calcularImc(pessoa)}"
oncomplete="PF('calcularImc').show();" update=":imc" />
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
<p:dialog appendTo="@(body)" modal="true" resizable="false"
closable="true" draggable="false" widgetVar="calcularImc"
header="IMC">
<h:form id="imc">
<h:panelGrid columns="2">
<p:outputLabel value="IMC: " />
<p:inputText value="#{pessoaBean.pessoa.resultadoImc}" />
</h:panelGrid>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>
</html>
public Double calcularImc(Pessoa pessoa) {
Double aux = pessoa.getPeso()
/ (pessoa.getAltura() * pessoa.getAltura());
pessoa.setResultadoImc(aux);
System.out.println("Resultado: " + pessoa.getResultadoImc());
return aux;
}
Aqui começa os meus dialog onde tenho uma lista de pessoas com informaçoes necessarias, e depois um metodo que ira calcular o imc da pessoa, mais no meu inputText não vem nada.
<p:commandButton value="Informação"
onclick="PF('pessoaDialogo').show();" />
</f:facet>
</p:toolbar>
</h:form>
<p:dialog appendTo="@(body)" modal="true" resizable="false"
closable="true" draggable="false" widgetVar="pessoaDialogo"
header="Informação">
<h:form id="formularioDialogo">
<p:dataTable emptyMessage="Nenhum Cliente encontrado"
value="#{pessoaBean.listaPessoas}" var="pessoa">
<p:column headerText="Nome">
<h:outputText value="#{pessoa.nome}" />
</p:column>
<p:column headerText="Celular">
<h:outputText value="#{pessoa.celular}" />
</p:column>
<p:column headerText="Peso">
<h:outputText value="#{pessoa.peso}" />
</p:column>
<p:column headerText="Altura">
<h:outputText value="#{pessoa.altura}" />
</p:column>
<p:column headerText="Pesquisar">
<p:commandButton value="Calcular imc"
actionListener="#{pessoaBean.calcularImc(pessoa)}"
oncomplete="PF('calcularImc').show();" update=":imc" />
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
<p:dialog appendTo="@(body)" modal="true" resizable="false"
closable="true" draggable="false" widgetVar="calcularImc"
header="IMC">
<h:form id="imc">
<h:panelGrid columns="2">
<p:outputLabel value="IMC: " />
<p:inputText value="#{pessoaBean.pessoa.resultadoImc}" />
</h:panelGrid>
</h:form>
</p:dialog>