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
Hibernate jsf primefaces有两个数据表和两个列表_Hibernate_Jsf_Primefaces - Fatal编程技术网

Hibernate jsf primefaces有两个数据表和两个列表

Hibernate jsf primefaces有两个数据表和两个列表,hibernate,jsf,primefaces,Hibernate,Jsf,Primefaces,我正在使用jsf hibernate primefaces开发一个项目。 在我的xhtml页面中,有两个datatable。 当我单击datatable中的一行时,它会在第二个datatable中显示详细信息。 我怎样才能做到这一点? 谢谢 InfoProcess.java: here is my complete InfoProcess.java code package com.revir.process; import java.io.Serializable; import jav

我正在使用jsf hibernate primefaces开发一个项目。 在我的xhtml页面中,有两个datatable。 当我单击datatable中的一行时,它会在第二个datatable中显示详细信息。 我怎样才能做到这一点? 谢谢

InfoProcess.java:

here is my complete InfoProcess.java code 

package com.revir.process;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.primefaces.event.SelectEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.revir.managed.bean.AddressBean;
import com.revir.managed.bean.OgrenimSureciBean;
import com.revir.domain.Adres;
import com.revir.domain.AdresDAO;
import com.revir.domain.Kisi;
import com.revir.domain.KisiDAO;
import com.revir.domain.Kisiadresi;
import com.revir.domain.Ogrenimsureci;
import com.revir.domain.OgrenimsureciDAO;
import com.revir.domain.Ulke;
import com.revir.process.KisiInfoProcess;

@ManagedBean(name = "userOS")
@SessionScoped
public class KisiInfoProcess implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private static final Logger log = LoggerFactory
            .getLogger(KisiInfoProcess.class);

    private List<OgrenimSureciBean> osList;

    private List<AddressBean> adresList;

    private OgrenimSureciBean selectedOS;

    private AddressBean selectedAdres;

    public OgrenimSureciBean getSelectedOS() {
        getSelectedAdres();
        return selectedOS;
    }

    public void setSelectedOS(OgrenimSureciBean selectedOS) {
        this.selectedOS = selectedOS;
    }

    public AddressBean getSelectedAdres() {
        return selectedAdres;
    }

    public void setSelectedAdres(AddressBean selectedAdres) {
        this.selectedAdres = selectedAdres;
    }

    public List<OgrenimSureciBean> getOsList() {
        OgrenimsureciDAO ogrenimsureciDAO = new OgrenimsureciDAO();

        List<OgrenimSureciBean> osList = new ArrayList<OgrenimSureciBean>();

        for (Iterator i = ogrenimsureciDAO.findByMezunOgrenciler((short) 8)
                .iterator(); i.hasNext();) {
            Ogrenimsureci og = (Ogrenimsureci) i.next();
            OgrenimSureciBean osBean = new OgrenimSureciBean();

            osBean.setBolum(og.getBolum());
            osBean.setAd(og.getKisiByKisiid().getAd());
            osBean.setSoyad(og.getKisiByKisiid().getSoyad());
            osBean.setAltbirim(og.getAltbirim());
            osBean.setOgrencino(og.getOgrencino());
            osBean.setKisiid(og.getKisiByKisiid().getKisiid());
            osBean.setOgrencidurum(og.getOgrencidurum());

            osList.add(osBean);
            System.out.println("osBean : " + osBean.toString());

        }
        return osList;
    }

    public void setOsList(List<OgrenimSureciBean> osList) {
        this.osList = osList;
    }

    public void onRowSelect(SelectEvent event) {

        System.out.println("On Row Select Metodu çalıştı");

            try {
                getAdresList();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


    }

    public List<AddressBean> getAdresList() throws Exception {

        log.debug("PersonalInfoProcess - getAddressInfo - Start");
        List<AddressBean> adresList = new ArrayList<AddressBean>();

        KisiDAO kisiDAO = new KisiDAO();
        AdresDAO adresDAO = new AdresDAO();

        Long kisiid = getSelectedOS().getKisiid();
        System.out.println("kisiid :" + kisiid);
        Kisi kisi = kisiDAO.findById(kisiid);

        for (Iterator i = kisi.getKisiadresis().iterator(); i.hasNext();) {

            Kisiadresi kisiAdresi = (Kisiadresi) i.next();
            System.out.println("i :" + i);
            Adres tmpAdres = adresDAO.findById(kisiAdresi.getId().getAdresid());

            if (tmpAdres != null) {
                AddressBean address = new AddressBean(kisiid);

                if (tmpAdres.getAdresturu() == null) {
                    address.setAddressType(null);
                } else {
                    address.setAddressType(tmpAdres.getAdresturu().getAd());
                }

                address.setAddress(tmpAdres.getAdres());

                if (tmpAdres.getIl() == null) {
                    address.setCity(null);
                } else {
                    address.setCity(tmpAdres.getIl().getAd());
                }

                if (tmpAdres.getUlke() == null) {
                    address.setCountry(null);
                } else {
                    address.setCountry(tmpAdres.getUlke().getAd());
                }

                adresList.add(address);

                System.out.println("adres" + address);
                System.out.println("adreslist" + adresList);
            }

            log.debug("PersonalInfoProcess - getAddressInfo - End / Returning");
        }
        return adresList;
    }

    public void setAdresList(List<AddressBean> adresList) {
        this.adresList = adresList;
    }

}
这是我完整的InfoProcess.java代码
包com.revir.process;
导入java.io.Serializable;
导入java.util.ArrayList;
导入java.util.Collection;
导入java.util.Iterator;
导入java.util.List;
导入javax.faces.application.FacesMessage;
导入javax.faces.bean.ManagedBean;
导入javax.faces.bean.SessionScoped;
导入javax.faces.context.FacesContext;
导入org.hibernate.Session;
导入org.hibernate.Transaction;
导入org.primefaces.event.SelectEvent;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
导入com.revir.managed.bean.AddressBean;
导入com.revir.managed.bean.OgrenimSureciBean;
导入com.revir.domain.Adres;
导入com.revir.domain.AdresDAO;
导入com.revir.domain.Kisi;
导入com.revir.domain.KisiDAO;
导入com.revir.domain.Kisiadresi;
导入com.revir.domain.Ogrenimsureci;
导入com.revir.domain.OgrenimsureciDAO;
导入com.revir.domain.Ulke;
导入com.revir.process.kisiinfo流程;
@ManagedBean(name=“userOS”)
@会议范围
公共类KisiInfo进程实现可序列化{
/**
* 
*/
私有静态最终长serialVersionUID=1L;
专用静态最终记录器日志=LoggerFactory
.getLogger(KisiInfoProcess.class);
私人名单;
私人名单;
选择的私有OgrenimSureciBean;
私有地址bean选择数据;
公共OGREnimSureCBean getSelectedOS(){
getSelectedAdres();
返回所选对象;
}
公共无效设置选择项(OgrenimSureciBean选择项){
this.selectedOS=selectedOS;
}
公共地址bean getSelectedAddresses(){
返回所选数据;
}
公共无效设置选定数据(地址bean选定数据){
this.selectedAdres=selectedAdres;
}
公共列表getOsList(){
OgrenimsureciDAO OgrenimsureciDAO=新的OgrenimsureciDAO();
List osList=new ArrayList();
for(迭代器i=ogrenimsureciDAO.findByMezunOgrenciler((短)8)
.iterator();i.hasNext();){
Ogrenimsureci og=(Ogrenimsureci)i.next();
OgrenimSurecBean osBean=新的OgrenimSurecBean();
setBolum(og.getBolum());
setAd(og.getkisibikiid().getAd());
setSoyad(og.getkisibikiid().getSoyad());
setAltbirim(og.getAltbirim());
setOgrencino(og.getOgrencino());
setKisiid(og.getkisibikiid().getKisiid());
setOgrencidurum(og.getOgrencidurum());
add(osBean);
System.out.println(“osBean:+osBean.toString());
}
返回奥斯陆名单;
}
公共无效设置列表(列表列表列表){
this.osList=osList;
}
行上的公共无效选择(选择事件事件){
System.out.println(“在行选择Metoduçalıştı”);
试一试{
getAddressList();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
公共列表GetAddressList()引发异常{
调试(“PersonalInfoProcess-getAddressInfo-Start”);
List-adresList=new-ArrayList();
KisiDAO KisiDAO=新KisiDAO();
AdresDAO AdresDAO=新AdresDAO();
Long kisiid=getSelectedOS().getKisiid();
System.out.println(“kisiid:+kisiid”);
Kisi-Kisi=kisiDAO.findById(kisiid);
for(迭代器i=kisi.getKisiadresis().Iterator();i.hasNext();){
Kisiadresi Kisiadresi=(Kisiadresi)i.next();
System.out.println(“i:+i”);
Adres tmpAdres=adresDAO.findById(kisiAdresi.getId().getAdresid());
if(tmpAdres!=null){
AddressBean地址=新的AddressBean(kisiid);
if(tmpAdres.getadrestu()==null){
address.setAddressType(空);
}否则{
address.setAddressType(tmpAdres.getAddressUru().getAd());
}
address.setAddress(tmpAdres.getAdres());
if(tmpAdres.getIl()==null){
地址:setCity(空);
}否则{
address.setCity(tmpAdres.getIl().getAd());
}
if(tmpAdres.getUlke()==null){
address.setCountry(空);
}否则{
address.setCountry(tmpAdres.getUlke().getAd());
}
地址列表添加(地址);
系统输出打印号(“地址”+地址);
系统输出打印项次(“地址列表”+地址列表);
}
log.debug(“PersonalInfoProcess-getAddressInfo-End/Returning”);
}
返回地址列表;
}
公共无效设置地址列表(列表地址列表){
this.adresList=adresList;
}
}
index.xhtml:

    <?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://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
    <f:view>
        <h:form id="form">
            <p:dataTable id="users" var="user" value="#{userOS.osList}"
                paginator="true" rows="10" rowKey="#{user.kisiid}"
                selection="#{userOS.selectedOS}" selectionMode="single">
                <f:facet name="header">  
                                        Kullanıcı detaylarını görmek için view butonuna tıklayınız
                                        </f:facet>
                <p:ajax event="rowSelect" listener="#{userOS.onRowSelect}" update=":form:display"
                    oncomplete="userDialog" />

                <p:column headerText="Student No" sortBy="ogrencino"
                    filterBy="ogrencino" id="ogrencino">
                    <h:outputText value="#{user.ogrencino}" />
                    <f:param name="kid" value="#{userOS.osList.rowIndex}" />
                </p:column>

                <p:column headerText="Name" sortBy="ad" filterBy="ad" id="ad">
                    <h:outputText value="#{user.ad}" />
                </p:column>
                <p:column headerText="Surname" sortBy="soyad" filterBy="soyad"
                    id="soyad">
                    <h:outputText value="#{user.soyad}" />
                </p:column>
                <p:column headerText="Faculty" sortBy="altbirim.ad"
                    filterBy="altbirim.ad" id="altbirim">
                    <h:outputText value="#{user.altbirim.ad}" />
                </p:column>
                <p:column headerText="Department" sortBy="bolum.ad"
                    filterBy="bolum.ad" id="bolum">
                    <h:outputText value="#{user.bolum.ad}" />
                </p:column>
                <p:column headerText="Status" sortBy="ogrencidurum.ad"
                    filterBy="ogrencidurum.ad" id="ogrencidurum">
                    <h:outputText value="#{user.ogrencidurum.ad}" />
                </p:column>

                <f:facet name="footer">
                </f:facet>
            </p:dataTable>

            <p:panel id="dialog" header="User Detail" widgetVar="userDialog">

                <h:panelGrid id="panelgrid" columns="2" cellpadding="4">
                    <p:dataTable id="display" var="adres" value="#{userOS.adresList}">
                        <p:column headerText="Adres Tipi">
                            <h:outputText value="#{adres.addressType}" />
                        </p:column>
                        <p:column headerText="Adres">
                            <h:outputText value="#{adres.address}" />
                        </p:column>
                        <p:column headerText="İl">
                            <h:outputText value="#{adres.city}" />
                        </p:column>
                        <p:column headerText="Ülke">
                            <h:outputText value="#{adres.country}" />
                        </p:column>
                    </p:dataTable>
                </h:panelGrid>

            </p:panel>


        </h:form>
    </f:view>
</h:body>
</html>

在布托努纳·特克莱·恩内斯眼中的库兰·德泰拉尔·恩戈梅克·伊萨克(Kullanıcıdetaylarınıgörmek iç
...
<h:form prependId="false">
        <f:metadata>
            <f:event type="preRenderView"
                listener="#{userOS.populateOsList}" />
        </f:metadata>
...
@ManagedBean(name = "userOS")
@SessionScoped
public class KisiInfoProcess implements Serializable {

    private static final long serialVersionUID = 1L;
    private static final Logger log = LoggerFactory
            .getLogger(KisiInfoProcess.class);
    private List<OgrenimSureciBean> osList;
    private List<AddressBean> adresList;
    private OgrenimSureciBean selectedOS;
    private AddressBean selectedAdres;

    public OgrenimSureciBean getSelectedOS() {
        return selectedOS;
    }
    public void setSelectedOS(OgrenimSureciBean selectedOS) {
        this.selectedOS = selectedOS;
    }
    public AddressBean getSelectedAdres() {
        return selectedAdres;
    }
    public void setSelectedAdres(AddressBean selectedAdres) {
        this.selectedAdres = selectedAdres;
    }

    public void setOsList(List<OgrenimSureciBean> osList) {
        this.osList = osList;
    }

    public List<OgrenimSureciBean> getOsList(){
        return this.osList;
    }

    public void setAdresList(List<AddressBean> adresList) {
        this.adresList = adresList;
    }

    public List<AdressBean> getAdresList(){
        return this.adresList;
    }

    public void onRowSelect(SelectEvent event) {
        try {
            populateAddresList((OgrenimSureciBean) event.getObject());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void populateOsList() {
        OgrenimsureciDAO ogrenimsureciDAO = new OgrenimsureciDAO();

        osList = new ArrayList<OgrenimSureciBean>();

        for (Iterator i = ogrenimsureciDAO.findByMezunOgrenciler((short) 8)
                .iterator(); i.hasNext();) {
            Ogrenimsureci og = (Ogrenimsureci) i.next();
            OgrenimSureciBean osBean = new OgrenimSureciBean();

            osBean.setBolum(og.getBolum());
            osBean.setAd(og.getKisiByKisiid().getAd());
            osBean.setSoyad(og.getKisiByKisiid().getSoyad());
            osBean.setAltbirim(og.getAltbirim());
            osBean.setOgrencino(og.getOgrencino());
            osBean.setKisiid(og.getKisiByKisiid().getKisiid());
            osBean.setOgrencidurum(og.getOgrencidurum());

            osList.add(osBean);
            System.out.println("osBean : " + osBean.toString());

        }
        return osList;
    }

    public void populateAddresList(OgrenimSureciBean selected) throws Exception {

        log.debug("PersonalInfoProcess - getAddressInfo - Start");
        adresList = new ArrayList<AddressBean>();

        KisiDAO kisiDAO = new KisiDAO();
        AdresDAO adresDAO = new AdresDAO();

        Long kisiid = selected.getKisiid();
        System.out.println("kisiid :" + kisiid);
        Kisi kisi = kisiDAO.findById(kisiid);

        for (Iterator i = kisi.getKisiadresis().iterator(); i.hasNext();) {

            Kisiadresi kisiAdresi = (Kisiadresi) i.next();
            System.out.println("i :" + i);
            Adres tmpAdres = adresDAO.findById(kisiAdresi.getId().getAdresid());

            if (tmpAdres != null) {
                AddressBean address = new AddressBean(kisiid);

                if (tmpAdres.getAdresturu() == null) {
                    address.setAddressType(null);
                } else {
                    address.setAddressType(tmpAdres.getAdresturu().getAd());
                }

                address.setAddress(tmpAdres.getAdres());

                if (tmpAdres.getIl() == null) {
                    address.setCity(null);
                } else {
                    address.setCity(tmpAdres.getIl().getAd());
                }

                if (tmpAdres.getUlke() == null) {
                    address.setCountry(null);
                } else {
                    address.setCountry(tmpAdres.getUlke().getAd());
                }

                adresList.add(address);

                System.out.println("adres" + address);
                System.out.println("adreslist" + adresList);
            }

            log.debug("PersonalInfoProcess - getAddressInfo - End / Returning");
        }
    }
}