So, I have a problem with primefaces, I'm trying have a button that reset a panel but that button just don't work, here's the code.
<?xml version="1.0" encoding="utf-8" ?>
<ui:composition template="templatePortal.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:a="http://www.ambientinformatica.com.br/jsf2" xmlns:p="http://primefaces.org/ui">
<ui:define name="head">
    <style>
.col1 {
width: 10%;
}
.col2 {
width: 90%;
}
</style>
</ui:define>
<ui:define name="corpo">
    <a:field label="Ficha: ">
        <p:inputText id="ficha" label="ficha">
        </p:inputText>
    </a:field>
    <a:field label="Dotação: ">
        <p:inputMask id="dotacao" mask="99.99.9999.999.999.999" />
    </a:field>
    <a:field>
    </a:field>
    <a:newLine />
    <p:panel id="panel" header="Orçamento">
        <a:field label="Exercício">
            <p:inputText id="exercicio"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="Unidade:">
            <p:inputText id="unidade" value="#{ElaboracaoOrcamentariaControl.unidade.codigo}" label="unidade">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeUnidade" value="#{ElaboracaoOrcamentariaControl.unidade.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="Orgão:">
            <p:inputText id="orgao" value="#{ElaboracaoOrcamentariaControl.orgao.codigo}">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeOrgao" value="#{ElaboracaoOrcamentariaControl.orgao.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="Função:">
            <p:inputText id="funcao" value="#{ElaboracaoOrcamentariaControl.funcao.id}" label="funcao">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeFuncao" value="#{ElaboracaoOrcamentariaControl.funcao.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="SubFunção:">
            <p:inputText id="subfuncao" value="#{ElaboracaoOrcamentariaControl.subFuncao.id}" label="subfuncao">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeSubfuncao" value="#{ElaboracaoOrcamentariaControl.subFuncao.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="Programa:">
            <p:inputText id="programa" value="#{ElaboracaoOrcamentariaControl.programa.codigo}" label="programa">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomePrograma" value="#{ElaboracaoOrcamentariaControl.programa.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="Ação:">
            <p:inputText id="acao" value="#{ElaboracaoOrcamentariaControl.acao.nroProjAtiv}" label="acao">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeAcao" value="#{ElaboracaoOrcamentariaControl.acao.descricaoReduzida}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:field label="elemento Despesa:">
            <p:inputText id="elementoDespesa" value="#{ElaboracaoOrcamentariaControl.elementoDespesa.codigo}" label="elementoDespesa">
                <p:ajax event="blur" listener="#{ElaboracaoOrcamentariaControl.validar}" update=":formCorpo:panel" />
            </p:inputText>
        </a:field>
        <a:field>
            <p:inputText id="nomeElementoDespesa" value="#{ElaboracaoOrcamentariaControl.elementoDespesa.descricao}" style="width:550px;"></p:inputText>
        </a:field>
        <a:newLine />
        <a:newLine />
        <a:newLine />
        <p:commandButton process="@this" immediate="true">
            <p:resetInput target=":formCorpo"/>
        </p:commandButton>
        <p:dataTable id="dataTable" var="fonte" value="#{ElaboracaoOrcamentariaControl.dotacao.fontes}">
            <p:column headerText="Fonte">
                <h:outputText value="#{fonte.fonte.codigo}" />
            </p:column>
            <p:column headerText="Descrição da fonte de recurso">
                <h:outputText value="#{fonte.fonte.descricao}" />
            </p:column>
            <p:column headerText="Valor">
                <h:outputText value="#{fonte.valor}" />
            </p:column>
            <p:column headerText="Excluir">
                <p:commandButton id="selectButton" update=":form:display" immediate="true" icon="ui-icon-search" title="View" process="@this">
                </p:commandButton>
            </p:column>
        </p:dataTable>
    </p:panel>
</ui:define>
and the back bean:
package br.com.webgoverno.contabilidade.controle;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.event.ActionEvent;
import javax.faces.event.AjaxBehaviorEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import br.com.ambientinformatica.ambientjsf.util.UtilFaces;
import br.com.ambientinformatica.jpa.exception.PersistenciaException;
import br.com.webgoverno.contabilidade.persistencia.AcaoDao;
import br.com.webgoverno.contabilidade.persistencia.DotacaoDao;
import br.com.webgoverno.contabilidade.persistencia.ElementoDespesaDao;
import br.com.webgoverno.contabilidade.persistencia.FuncaoDao;
import br.com.webgoverno.contabilidade.persistencia.SubFuncaoDao;
import br.com.webgoverno.orcamento.entidade.Acao;
import br.com.webgoverno.orcamento.entidade.Dotacao;
import br.com.webgoverno.orcamento.entidade.ElementoDespesa;
import br.com.webgoverno.orcamento.entidade.FonteDotacao;
import br.com.webgoverno.orcamento.entidade.Funcao;
import br.com.webgoverno.orcamento.entidade.OrcamentoException;
import br.com.webgoverno.orcamento.entidade.Orgao;
import br.com.webgoverno.orcamento.entidade.Programa;
import br.com.webgoverno.orcamento.entidade.SubFuncao;
import br.com.webgoverno.orcamento.entidade.UnidadeOrcamentaria;
import br.com.webgoverno.orcamento.persistencia.OrgaoDao;
import br.com.webgoverno.orcamento.persistencia.ProgramaDao;
@Controller("ElaboracaoOrcamentariaControl")
@Scope("conversation")
public class ElaboracaoOrcamentariaControl extends ControleContabilidade {
    private Dotacao             dotacao         = new Dotacao();
    // campos da tela
    private UnidadeOrcamentaria unidade;
    private Orgao               orgao;
    private Funcao              funcao;
    private SubFuncao           subFuncao;
    private Programa            programa;
    private Acao                acao;
    private ElementoDespesa     elementoDespesa;
    // fim campos da tela
    List<FonteDotacao>          fonteDotacoes   = new ArrayList<FonteDotacao>();
    private List<Dotacao>       dotacoes        = new ArrayList<Dotacao>();
    @Autowired
    private DotacaoDao          dotacaoDao;
    @Autowired
    private OrgaoDao            orgaoDao;
    @Autowired
    private FuncaoDao           funcaoDao;
    @Autowired
    private SubFuncaoDao        subFuncaoDao;
    @Autowired
    private ProgramaDao         programaDao;
    @Autowired
    private AcaoDao             acaoDao;
    @Autowired
    private ElementoDespesaDao  elementoDespesaDao;
    @PostConstruct
    public void inicializar() {
        unidade = new UnidadeOrcamentaria();
        orgao = new Orgao();
        funcao = new Funcao();
        subFuncao = new SubFuncao();
        programa = new Programa();
        acao = new Acao();
        elementoDespesa = new ElementoDespesa();
    }
    public Dotacao getDotacao() {
        return dotacao;
    }
    public void setDotacao(Dotacao dotacao) {
        this.dotacao = dotacao;
    }
    public UnidadeOrcamentaria getUnidade() {
        return unidade;
    }
    public void setUnidade(UnidadeOrcamentaria unidade) {
        this.unidade = unidade;
    }
    public Orgao getOrgao() {
        return orgao;
    }
    public void setOrgao(Orgao orgao) {
        this.orgao = orgao;
    }
    public Funcao getFuncao() {
        return funcao;
    }
    public void setFuncao(Funcao funcao) {
        this.funcao = funcao;
    }
    public SubFuncao getSubFuncao() {
        return subFuncao;
    }
    public void setSubFuncao(SubFuncao subFuncao) {
        this.subFuncao = subFuncao;
    }
    public Programa getPrograma() {
        return programa;
    }
    public void setPrograma(Programa programa) {
        this.programa = programa;
    }
    public Acao getAcao() {
        return acao;
    }
    public void setAcao(Acao acao) {
        this.acao = acao;
    }
    public ElementoDespesa getElementoDespesa() {
        return elementoDespesa;
    }
    public void setElementoDespesa(ElementoDespesa elementoDespesa) {
        this.elementoDespesa = elementoDespesa;
    }
    public List<Dotacao> getDotacoes() {
        return dotacoes;
    }
    public void setDotacoes(List<Dotacao> dotacoes) {
        this.dotacoes = dotacoes;
    }
    public DotacaoDao getDotacaoDao() {
        return dotacaoDao;
    }
    public void setDotacaoDao(DotacaoDao dotacaoDao) {
        this.dotacaoDao = dotacaoDao;
    }
    public void confirmar(ActionEvent evt) {
        unidade.setOrgao(orgao);
        programa.getAcoes().add(acao);
        dotacao.setUnidade(unidade);
        dotacao.setPrograma(programa);
        try {
            dotacaoDao.alterar(dotacao);
            UtilFaces.addMensagemFaces("Salvo com sucesso");
        } catch (Exception e) {
            UtilFaces.addMensagemFaces(e);
        }
    }
    public List<Dotacao> listarDotacoes() {
        try {
            this.dotacoes = dotacaoDao.listar();
        } catch (PersistenciaException e) {
            UtilFaces.addMensagemFaces(e);
        }
        return dotacoes;
    }
    public void pesquisaDotacao() {
        try {
            this.dotacao = dotacaoDao.consultar(this.dotacao);
        } catch (PersistenciaException e) {
            UtilFaces.addMensagemFaces(e);
        }
    }
    public void validar(AjaxBehaviorEvent event) {
        try {
            /*
             * if (unidade.getCodigo() != null &&
             * unidade.consultarPorCodigo(unidade).size() > 0) { orgao =
             * orgaoDao.consultarPorCodigo(orgao).get(0); }
             */
            if (orgao.getCodigo() != null && orgaoDao.consultarPorCodigo(orgao).size() > 0) {
                orgao = orgaoDao.consultarPorCodigo(orgao).get(0);
            } else orgao = new Orgao();
            if (funcao != null && (funcao.getId() != null) && (funcaoDao.consultar(funcao.getId()) != null)) {
                funcao = funcaoDao.consultar(funcao.getId());
            } else funcao = new Funcao();
            if (subFuncao != null && (subFuncao.getId() != null) && (subFuncaoDao.consultar(subFuncao.getId()) != null)) {
                subFuncao = subFuncaoDao.consultar(subFuncao.getId());
            } else subFuncao = new SubFuncao();
            if (programa.getCodigo() != null && programaDao.consultarPorCodigo(programa).size() > 0) {
                programa = programaDao.consultarPorCodigo(programa).get(0);
            } else programa = new Programa();
            if (acao.getNroProjAtiv() != null && acaoDao.consultarPorCodigo(acao).size() > 0) {
                acao = acaoDao.consultarPorCodigo(acao).get(0);
            } else acao = new Acao();
            if (elementoDespesa.getCodigo() != null && elementoDespesaDao.consultarPorCodigo(elementoDespesa).size() > 0) {
                elementoDespesa = elementoDespesaDao.consultarPorCodigo(elementoDespesa).get(0);
            } else elementoDespesa = new ElementoDespesa();
        } catch (OrcamentoException e) {
            UtilFaces.addMensagemFaces(e);
            e.printStackTrace();
        } catch (PersistenciaException e) {
            UtilFaces.addMensagemFaces(e);
            e.printStackTrace();
        }
    }
    public void adicionaFonte(FonteDotacao fonteDotacao) {
        fonteDotacoes.add(fonteDotacao);
    }
}
The parent template has a form defyned in it. I'm stuck in it so any tip will help, thank.