Forum İçeriği > Java Server Faces > Jsf sayfada veriyi koruma
|
|
Serhat Meşe 27 ay önce
Aktivite Puanı: 62
Merhaba, group detail sayfasinda hem kullanicilarini hem de grup harici kalan
kullanicilari ayri iki data tableda gosterebilirsin. Her iki data table'a da
selectBooleanCheckbox koyabilirsin. Ve ornegin kullanici listesinde secili
olanlari bulup grubun kullanici listesine ekleyebilirsin. jsp sayfandaki
kullanicilari ekleyen butonun asagidaki gibi olsun. addUsersToGroup yontemin de
soyle olabilir: public String addUsersToGroup(){
group.getGroupUsers().addAll(getSelectedUsers()); return "yeniSayfa"; }
getSelectedUsers yontemini de selectBooleanCheckbox ile secili olan
kullanicilarin oldugu listedir. Bunu nasil elde ettigimizi daha onceki
mesajlarda gormustuk. Sonucta da kullanicilarin eklendigi mesajini verip, ayni
sayfada kalabilirsin ya da gruplari listeledigin sayfaya geri donebilirsin.
Umarim aciklayici ve yardimci olabilmisimdir. Kolay gelsin.
|
|
|
ertugrula 27 ay önce
Aktivite Puanı: 156
Hocam onclikle yardimlarini zicin cok tesekkur ederim, sorun aslinda tam olarak
su mesala userlari listeliyorum, sonra bir user radio buton ile secip, detail
butonuna basinca user detaylirini ve bagli oldugu grublari veren detailUser.jsp
sayfasina gidiyor, bu syafadaa add Group diye bir butonum var, butona tilayinca
addGroupToUser.jsp bu sayfaya geliyor, bu sayfada user`in ati oldugu grublar ve
butun grublar listenecek, userin ait oldugu grublar checkbox secili gorunecek,
istersek diger grublarida secip, save butonuna bastigimizda checbox ile secili
butun grublar listeleyecek. addGroupToUser.jsp bu sayfaya kadar hic bir sorun
yok ancak bu sayfaya geldigimde user`in gurblarin listesini gostermiyor, sanki
request kayboluyor. Kodalrim bir kismi asagida vakti olursa bakip yardim etme
imkaniz olursa cok sevinirim. detaiUser.jsp addGroupToUser.jsp
index private Map selectedUserId = new HashMap(); private
List userList; private List selectedDataUserList; private List groupList;
private List selectedDataGroupList; private List selectUserGroupList; private
List selectedUserGroupList; public List getUserGroups() throws Exception { List
gs = port.getUserGroups(user); return gs; } public List getGroupToUser() throws
Exception { List grs = new ArrayList(); grs.addAll(getUserGroups());
grs.addAll(getGroupList()); return grs; } public String getSelectedUserGroups()
throws Exception { selectUserGroupList = new ArrayList(); for (Group g :
getUserGroups()) { if (selectedUserId.get(g.getId()).booleanValue()) {
selectUserGroupList.add(g); selectedUserId.remove(g.getId()); } }
selectedUserGroupList = selectUserGroupList; System.out.println("****----***" +
selectedUserGroupList); return null; } kullandighim kodlar bu sekilde
hocam, nerde nasil bir degisiklik yapmam gerkiyor. bi sorum daha olcakti, list
sayfasinda detail sayafsina gecerken URL`deki link degismiyor bu normalmi,
yaptigim zamanda verielri gostermiyor. Size cok zahmet verdim kusuruma bakmayin
hocam, simdiden cok tesekkur ederim
|
|
|
Serhat Meşe 27 ay önce
Aktivite Puanı: 62
Merhaba, Son sayfaya gecis yaparken requestten cikiyorsun anlasilan. Burada iki
sey yapabilirsin. Birincisi; tam obur sayfaya gecerken requeste sectigin user'i
ekleyebilirsin. Asagidaki gibi:
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().put("secilenKullanici",
selectedUser); Ikinci yol da jsp sayfanda f:param tagini kullanmak.
Bu durumda once actionListeneri yazarak secili olan kullaniciyi
alacaksin ve daha sonra onun gruplarini bulup listeleyeceksin. f:paramdan ve
ilk yontemde requeste koydugumuz secilen kullaniciyi da asagidaki gibi
alabilirsin. User secilenKullanici = (User)
FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get( "secilenKullanici");
Burada anlattiklarim biraz kabataslak oldu kendi durumuna uyarlaman gerekiyor.
Kolay gelsin...
|
|
|
ertugrula 27 ay önce
Aktivite Puanı: 156
peki hocam cok tesekkur ederim, ben bunalri bi deneyeim uygulamamda, cok
tesekkur ederim yardimlariniz icin.
|
|
|
ertugrula 27 ay önce
Aktivite Puanı: 156
Merhaba, hocam User secilenKullanici = (User) FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get( "secilenKullanici"); bu
metod geriye string donderiyor, bu sekilde kabul etmiyor. Ben asagidaki yaptim
olmadi, daha once bsaka sekilerde denedim yine olmadi. public String
grubEkle() { User secilenKullanici= (User) FacesContext.getCurrentInstance().
getExternalContext().getRequestParameterMap().get( "secilenKullanici"); return
"addGroupToUser"; } benmi bir yerilerde yanlis yapiyorum
acaba
|
|
|
Serhat Meşe 27 ay önce
Aktivite Puanı: 62
Merhaba; commandLinkteki actionListener ile f:param'da kullandigin value ikisi
de securRequest.user'a bind edilmis durumda. Bu bir karisiklik olusturmus
olabilir. Ilki actionListener ona baska bir isim ver. ActionListener ile isin
yoksa kullanmayabilirsin de... Ikinci olarak f:param'da securRequest.user
diyorsun ya. Bu user elinde var degilmi o anda. Yani daha onceki sayfada
secilen user olmasi lazim bunun. Eger user degil de id si falan varsa buraya
onu koyman ve alirken de o sekilde alman gerekiyor. Kolay gelsin...
|
|
|
ertugrula 27 ay önce
Aktivite Puanı: 156
merhaba, Evet Hocam user daha once listten gelen user, onun uzerinde islemler
yapiyorum, detail sayfasina gelirkende bu useri kullaniyorum, public void
setSelectedUser(ValueChangeEvent event) { user = (User) dataTable.getRowData();
} Bu metodda usera dataTable`daki deger aliyorum public String
getSelectedUserDetail() { return "userDetail"; } bu sekilde detail sayfasina
git dedigimde veya sil-edit, hepsini yapiyorum hicbir sorun yok kullaniciya
grub ele linkine tikladigimda diger sayfada user kalmasini hangi metodlarla
saglarim. Yardimalriniz ve ilginiz icin cok cok teskkeur ederimm
bu sekilde rahatlikla aliyorum, burdan sonra nasil bir metod
olusturmaliyim, neler kullanmaliyim user kaybolmamasi icin, yanlis olan
metodlarin hepsini sildim, vaktiniz varsa metodlari yazabilirimisiniz, cok sey
istiyorum ama, kafam iyice karisti |
|
|
Serhat Meşe 27 ay önce
Aktivite Puanı: 62
Merhaba, Tek tek metodlari yazamayacagim sonucta kodlarini tam olarak
bilmiyorum, acikcasi vaktim de yok. Sana onerim jsf ile ilgili dokuman, e-book
okuman. Ezbere giderek degil de anlayarak yapman en iyisi olur bence... Kolay
gelsin.
|
|
|
ertugrula 27 ay önce
Aktivite Puanı: 156
Evet hocam haklisiniz, ancak ben projelerin ejb-webservis bazi durumlardada
oracle kismina bakiyorum, ancak bu proje icin, bazi yerlerde jsf kullanmam
gerkeliydi, web aliskanligim ve, jsf`de cok iyi olmadigim ve vakitde sinirli
oldugu icin biraz acle ettim. dediginiz gibi dokumanalari iyice karistirmam
gerek. Yardimlariniz icin tekrardan cok tesekkur ederim
|
Aktivite Puanı: 156
groupDetail.jspGroup Users
securRequest.javapublic String getAllUsers() throws Exception { List groupUserList = new ArrayList(); groupUserList.addAll(getGroupUsers()); groupUserList.addAll(getUserList()); return "addUser"; }burada nasil bir degisiklik yapama gerekiyor, ve addUser sayfasinda nasil bir sekilde Listelemeliyim. Simdiden cok tesekkur ederim..