Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Commandbutton未更新bean_Html_Hibernate_Jsf_View_Primefaces - Fatal编程技术网

Html Commandbutton未更新bean

Html Commandbutton未更新bean,html,hibernate,jsf,view,primefaces,Html,Hibernate,Jsf,View,Primefaces,我被困在这个问题上,无法解决,我有一个视图,在那里搜索具有相同姓名的人和一个按钮开关。按下按钮时,会打开一个对话框,其中包含所选人员的完整数据。(见下图) 当尝试更改数据并单击更改按钮时,不会发生任何事情。遵循我的控制类和我的视图 ManagedBean: package br.com.banco.controller; import javax.annotation.PostConstruct; import org.hibernate.Session; import br.com.b

我被困在这个问题上,无法解决,我有一个视图,在那里搜索具有相同姓名的人和一个按钮开关。按下按钮时,会打开一个对话框,其中包含所选人员的完整数据。(见下图)

当尝试更改数据并单击更改按钮时,不会发生任何事情。遵循我的控制类和我的视图

ManagedBean:

package br.com.banco.controller;

import javax.annotation.PostConstruct;

import org.hibernate.Session;

import br.com.banco.model.bean.Candidato;
import br.com.banco.model.bean.Documento;
import br.com.banco.model.bean.Endereco;
import br.com.banco.model.dao.HibernateDAO;
import br.com.banco.util.FacesContextUtil;

@javax.faces.bean.ManagedBean (name="bBCandidato")
@javax.faces.view.ViewScoped
public class BBCandidato {

    private Candidato candidato;
    private Documento documento;
    private Endereco endereco;

    private Session session;
    private HibernateDAO<Candidato> candidatoDAO;
    private HibernateDAO<Documento> documentoDAO;
    private HibernateDAO<Endereco> enderecoDAO;

    @PostConstruct
    public void init(){
        session = FacesContextUtil.getRequestSession();
        candidatoDAO = new HibernateDAO<Candidato>(Candidato.class, session);
        documentoDAO = new HibernateDAO<Documento>(Documento.class, session);
        enderecoDAO = new HibernateDAO<Endereco>(Endereco.class, session);
        candidato = new Candidato();
        documento = new Documento();
        endereco = new Endereco();
    }

    public void salvar(){
        candidatoDAO.salvar(candidato);
        documento.setDoc_codigo(candidato.getCan_codigo());
        documentoDAO.salvar(documento);
        endereco.setEnd_codigo(candidato.getCan_codigo());
        enderecoDAO.salvar(endereco);
    }

    public void atualizar(){
        candidatoDAO.atualizar(candidato);
    }

    public Candidato getCandidato(){
        return candidato;
    }

    public void setCandidato(Candidato candidato){ 
        this.candidato = candidato; 
    }

    public Documento getDocumento() {
        return documento;
    }

    public void setDocumento(Documento documento) {
        this.documento = documento;
    }

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }
}
package br.com.banco.controller;
导入javax.annotation.PostConstruct;
导入org.hibernate.Session;
导入br.com.banco.model.bean.candidateo;
导入br.com.banco.model.bean.Documento;
导入br.com.banco.model.bean.Endereco;
导入br.com.banco.model.dao.HibernateDAO;
导入br.com.banco.util.FacesContextUtil;
@javax.faces.bean.ManagedBean(name=“bbcandidateo”)
@javax.faces.view.ViewScoped
公共类BBTO{
私人候选人;
私人文件;
私人恩德雷科恩德雷科;
非公开会议;
私家医院;
私人冬眠馆;
私人冬眠道;
@施工后
公共void init(){
session=FacesContextUtil.getRequestSession();
CandidateDao=新的HibernateDAO(candidateto.class,session);
documentAO=新的HibernateDAO(Documento.class,session);
enderecoDAO=新的HibernateDAO(Endereco.class,session);
candidato=新candidato();
documento=新documento();
endereco=新的endereco();
}
公共无效salvar(){
Candidao.salvar(candidato);
documento.setDoc_codigo(candidateo.getCan_codigo());
documento.salvar(documento);
endereco.setEnd_codigo(candidateo.getCan_codigo());
安德雷科·萨尔瓦(安德雷科);
}
公共无效atualizar(){
Candidao.atualizar(candidato);
}
公众候选人获得候选人资格(){
返回;
}
公开无效的候选人(候选人){
this.candidateo=candidateo;
}
公共文档getDocumento(){
返回文件o;
}
公共作废setDocumento(Documento Documento){
this.documento=documento;
}
公共恩德雷科{
返回恩德雷科;
}
公共无效setEndereco(Endereco Endereco){
this.endereco=endereco;
}
}
XHTML:

<body>
    <ui:composition template="/template/master.xhtml">
    <ui:define name="conteudo">
        <h:form id="frmTblCandidato">
            <p:dataTable id="tblCandidato" var="candidato"        
            value="#{bBuscaCandidato.listar()}"
            selectionMode="single" paginator="true"
            rows="10" rowsPerPageTemplate="5,10,15"
            rowKey="bBCandidato.candidato.can_codigo">

                <p:column filterBy="#{candidato.can_nome}" headerText="Nome">
                    <h:outputText value="#{candidato.can_nome}"/>
                </p:column>

                <p:column headerText="Data de Registro">
                    <h:outputText value="#{candidato.can_dataregistro}"/>
                </p:column>

                <p:column headerText="RG">
                    <h:outputText value="#{candidato.documento.doc_identidade}"/>
                </p:column>

                <p:column headerText="CPF">
                    <h:outputText value="#{candidato.documento.doc_cpf}"/>
                </p:column>

                <p:column headerText="Alterar" style="text-align:left, width: 1px">
                    <p:commandButton value="Alterar" title="Alterar Candidato"
                                        oncomplete="dialogCandidato.show()"
                                        update=":frmCandidatoModal">
                    <f:setPropertyActionListener target="#{bBCandidato.candidato}" value="#{candidato}"></f:setPropertyActionListener>                     

                    </p:commandButton>
                </p:column>

            </p:dataTable>
        </h:form>

        <p:dialog id="dialog" header="Candidato" widgetVar="dialogCandidato"
        appendToBody="true" resizable="false" closable="false"
        modal="true" showEffect="fade" hideEffect="fade" width="500" >

            <h:form id="frmCandidatoModal">
                <p:scrollPanel style="widtch:500px;height:500px">    
                    <h:panelGrid id="infosCandidato" columns="2" style="margin-bottom:10px">

                        <h:outputLabel for="d_registro" value="Data Registro: *"/>
                        <p:calendar id="d_registro" value="#{bBCandidato.candidato.can_dataregistro}" label="Data_Registro" pattern="dd/MM/yyyy" showOn="button" navigator="true"/>

                        <h:outputLabel for="d_nascimento" value="Data Nascimento: *"/>
                        <p:calendar id="d_nascimento" value="#{bBCandidato.candidato.can_datanascimento}" navigator="true" pattern="dd/MM/yyyy" showOn="button" label="Data_Nascimento"/>

                        <h:outputLabel for="etnia" value="Etnia: *"/>
                        <p:inputText id="etnia" value="#{bBCandidato.candidato.can_etnia}" label="Etnia"/>

                        <h:outputLabel for="sexo" value="Sexo: *"/>
                        <p:inputText id="sexo" value="#{bBCandidato.candidato.can_sexo}" label="Sexo"/>

                        <h:outputLabel for="nome" value="Nome: *"/>
                        <p:inputText id="nome" value="#{bBCandidato.candidato.can_nome}" label="Nome"/>

                        <h:outputLabel for="nome_mae" value="Nome da Mãe: *"/>
                        <p:inputText id="nome_mae" value="#{bBCandidato.candidato.can_mae}" label="Nome_mae"/>

                        <h:outputLabel for="nome_pai" value="Nome do Pai: *"/>
                        <p:inputText id="nome_pai" value="#{bBCandidato.candidato.can_pai}" label="Nome_pai"/>

                        <h:outputLabel for="tipo_sanguineo" value="Tipo Sangüineo: *"/>
                        <p:inputText id="tipo_sanguineo" value="#{bBCandidato.candidato.can_tiposangue}" label="Tipo_sanguineo"/>

                        <h:outputLabel for="nacionalidade" value="Nacionalidade: *"/>
                        <p:inputText id="nacionalidade" value="#{bBCandidato.candidato.can_nacionalidade}" label="Nacionalidade"/>

                        <h:outputLabel for="naturalidade" value="Naturalidade: *"/>
                        <p:inputText id="naturalidade" value="#{bBCandidato.candidato.can_naturalidade}" label="Naturalidade"/>

                        <h:outputLabel for="uf" value="UF: *"/>
                        <p:inputText id="uf" value="#{bBCandidato.candidato.can_uf}" label="UF"/>

                        <h:outputLabel for="doc_identidade" value="RG: *"/>
                        <p:inputText id="doc_identidade" value="#{bBCandidato.candidato.documento.doc_identidade}" label="Identidade"/>

                        <h:outputLabel for="doc_expeditor" value="Orgão Expeditor: *"/>
                        <p:inputText id="doc_expeditor" value="#{bBCandidato.candidato.documento.doc_expeditor}" label="Expeditor"/>

                        <h:outputLabel for="doc_uf" value="UF: *"/>
                        <p:inputText id="doc_uf" value="#{bBCandidato.candidato.documento.doc_uf}" label="UF"/>

                        <h:outputLabel for="doc_cpf" value="CPF: *"/>
                        <p:inputText id="doc_cpf" value="#{bBCandidato.candidato.documento.doc_cpf}" label="CPF"/>

                        <h:outputLabel for="doc_estado_civil" value="Estado Civil: *"/>
                        <p:inputText id="doc_estado_civil" value="#{bBCandidato.candidato.documento.doc_estado_civil}" label="Estado Civil"/>

                        <h:outputLabel for="doc_escolaridade" value="Escolaridade: *"/>
                        <p:inputText id="doc_escolaridade" value="#{bBCandidato.candidato.documento.doc_escolaridade}" label="Escolaridade"/>

                        <h:outputLabel for="doc_profissao" value="Profissão: *"/>
                        <p:inputText id="doc_profissao" value="#{bBCandidato.candidato.documento.doc_profissao}" label="Profissao"/>

                        <h:outputLabel for="end_rua" value="Rua: *"/>
                        <p:inputText id="end_rua" value="#{bBCandidato.candidato.endereco.end_rua}" label="Rua"/>

                        <h:outputLabel for="end_bairro" value="Bairro: *"/>
                        <p:inputText id="end_bairro" value="#{bBCandidato.candidato.endereco.end_bairro}" label="Bairro"/>

                        <h:outputLabel for="end_cidade" value="Cidade: *"/>
                        <p:inputText id="end_cidade" value="#{bBCandidato.candidato.endereco.end_cidade}" label="cidade"/>

                        <h:outputLabel for="end_uf" value="UF: *"/>
                        <p:inputText id="end_uf" value="#{bBCandidato.candidato.endereco.end_uf}" label="UF"/>                    

                        <h:outputLabel for="end_cep" value="CEP: *"/>
                        <p:inputText id="end_cep" value="#{bBCandidato.candidato.endereco.end_cep}" label="Rua"/>

                        <h:outputLabel for="end_telefone" value="Telefone: *"/>
                        <p:inputText id="end_telefone" value="#{bBCandidato.candidato.endereco.end_telefone}" label="Telefone"/>                    

                    </h:panelGrid>
                </p:scrollPanel>
            <p:separator/>

                    <p:commandButton actionListener="#{bBCandidato.atualizar}" id="submit" value="Atualizar"
                    />    


            </h:form>

        </p:dialog>
    </ui:define>
    </ui:composition>
</body> 
</html>

是否已检查您的方法是否为
atualizar
调用?在
中,将
actionListener
更改为
action
。此外,它应该更新视图中的数据,但由于这是一个ajax操作,因此需要告诉
关闭打开的对话框。