iyi geceler jsf ile yapmış olduğum bir form alanım var. yapmak istediğim şey bu input texte girilen veriyi sql içindeki bir değişkene atamak ve buna göre listeleme yapmak istiyorum şuanda sqle sabit bir değer yazarsam listeliyor fakat formdan gönderdiğim değeri bir türlü başaramadım bu sıkıntıyı nasıl aşabilirim

soruldu: 28 Şub '13, 13:34

fatihkaradeniz's gravatar image

fatihkaradeniz
90121319
cevap kabul oranı: 25%

değiştirildi: 01 Mar '13, 05:25

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

Bu girilen değer backing bean'e gidiyor mu?

(28 Şub '13, 14:20) Tunahan Pehlivan Tunahan%20Pehlivan's gravatar image

gidiyor tunahan bey

(28 Şub '13, 14:25) fatihkaradeniz fatihkaradeniz's gravatar image

Sorun tam olarak nerede anlamadım açıkcası. Örneğin http://tutorials.jenkov.com/jdbc/preparedstatement.html linkteki gibi bir ifade ile kullanmaya çalıştığınız da nerede sorun çıkıyor?

(28 Şub '13, 14:31) Tunahan Pehlivan Tunahan%20Pehlivan's gravatar image

Dinamik query oluşturmak istiyorsunuz galiba? Yanlışmı anladım.

(28 Şub '13, 14:43) Turgay Can Turgay%20Can's gravatar image

şöyle ifade edeyim hocam iki beanım var biri içinde değişkenler tanımlı setter getter .... ikincisinde db ye bağlanıyorum sql array list içinde kalıyor bu yüzden değişkenlerin bulunduğu beandeki değişkene erişemiyorum

formdan post ediyor stringin içine atıyor ama ben array list içindeki sql sorgusuna burdan o değişkeni çekemedim

belki ben yanlış yapıyorum veya farklı bir yöntemi var bu benim ilk java ile münasebetim öğrenmek için proje yapayım dedim 2 aydır ama php nin buyük bir velinimet olduğunu şimdi daha iyi anlıyorum

(28 Şub '13, 15:08) fatihkaradeniz fatihkaradeniz's gravatar image

doğrudur turgay bey elinizde örnek varmı veya öneriniz

(28 Şub '13, 15:12) fatihkaradeniz fatihkaradeniz's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

Action olayında mantık hatası var gibi.

<h:inputText value="#{mypersonelHesapListesiData.perScl}"/>

Zaten burada perScl değişkenin set ediliyor. Siz butuna basıldığında veritabanına gidip sorgulama yapıp datatable üzerinde listeleme yapmalısınız. Bunun için fonksiyon yazmanı gerekiyor. Kurucu construct metoda yazdığınız değer yalnızca sayfalar refresh edildiğinde, session sayfa request isteiği attığında çalışır. Buda sizi enbaştaki null değerlere döndürür.

<p:commandButton id="dene" value="Sorgula" action="#{mypersonelHesapListesiData.Listele}" />

public String Listele(){
 personelHesapListe = null;

    try {
        Connection connection = myveritabani.getConnection();
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("select * from personelhesaplistesi where personelSicil='"+getPerScl() +"' ");           
        while (resultSet.next()){
            mypersonelHesapListesi yeniListe = new mypersonelHesapListesi();
            yeniListe.setPersonelAdi(resultSet.getString("personelAdi"));
            yeniListe.setPersonelSicil(resultSet.getString("personelSicil"));
            yeniListe.setPersonelYemekSayi(resultSet.getInt("personelYemekSayi"));
            yeniListe.setTarih(resultSet.getDate("tarih"));
            personelHesapListe.add(yeniListe);

        }

    } catch (Exception e) {
    }
return null;
}

Ayrıca dataTable tagınıza bir id verip, butona basıldığında dataTable'ı render etmelisiniz.

permanent link

cevaplandı: 04 Mar '13, 17:26

MDemir's gravatar image

MDemir
2.1k173445
cevap kabul oranı: 24%

değiştirildi: 04 Mar '13, 17:29

murat bey peki doğru olan mantık ne nerde yanlış yapıyorum perScl değişkenim set ediyor onda problem yok sanırım.. illa session mu oluşturmak lazım ? f:ajax le render ile denedim tablo refresh etmedi

(05 Mar '13, 12:38) fatihkaradeniz fatihkaradeniz's gravatar image

Yukarıda anlattığımı denediniz mi?

(07 Mar '13, 12:53) MDemir MDemir's gravatar image

Açıkcası Reflection ile erişebilirsin problem değilde, sorununun daha basit bir çözümü mutlak vardır ama sorunun ne olduğunu tam olarak anlamış değilim hala.

Anladığım kadarıyla ki, sen arayüzdeki değerleri arka planda managed bean içine set ediyorsun fakat ikinci bir java sınıfında managen bean içindeki değerlere ulaşmaya çalışırken sanırım(tahmin) sınıftan instance oluşturuyorsun, hali ilede instance değerleri null(boş) geliyordur.

Injection yapman gerekiyor ,

Örnek Kaynak 1,

Örnek Kaynak 2, bu örnekleri incelemende fayda var.

permanent link

cevaplandı: 28 Şub '13, 15:24

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×77

Soruldu: 28 Şub '13, 13:34

Görüntüleme: 998 kez

Son güncelleme: 08 Mar '13, 13:17

powered by BitNami OSQA