Hibernate jsf primefaces有两个数据表和两个列表
我正在使用jsf hibernate primefaces开发一个项目。 在我的xhtml页面中,有两个datatable。 当我单击datatable中的一行时,它会在第二个datatable中显示详细信息。 我怎样才能做到这一点? 谢谢 InfoProcess.java: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
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");
}
}
}