Veritabanına ekle diyorum ekleniyor. Veritabanına ekleniyor ama alta listeyi netbeansı kapatım açarsam anca getiriyor

ekran görüntüm ve Konu ile alakalı olabilecek kodları ekliyorum.
http://i.hizliresim.com/6RvyNW.jpg

@ManagedBean

@SessionScoped public class TeknisyenAyrinti {

public String save(){

TeknisyenDepo teknisyenDepo = new TeknisyenDepo();
teknisyenDepo.insert(teknisyen);

 return "TeknisyenAyrinti?faces-redirect=true";

}

@ManagedBean
@SessionScoped

public class TeknisyenOzet {

 private List<Teknisyen> teknisyenList;

public TeknisyenOzet(){

 TeknisyenDepo teknisyenDepo = new TeknisyenDepo();
 teknisyenList=teknisyenDepo.list();

}

ve jsf sayfam

 <h:panelGrid id="authors" columns="2" cellpadding="5">

            <h:outputText value="Teknisyen No:"/>
           <h:outputText value="#{teknisyenAyrinti.teknisyen.teknisyenNo}" />

            <h:outputText value="Teknisyen Adı:"/>
                <p:inputText  value="#{teknisyenAyrinti.teknisyen.teknisyenAdi}"/>

                  <p:commandButton value="ekle" ajax="false" update="authors"  action="#{teknisyenAyrinti.save()}">
                    <f:param name="teknisyenId" value="#{teknisyenAyrinti.teknisyen.teknisyenNo}"  />
                  </p:commandButton>

       </h:panelGrid>

           <p:dataTable rows="5" paginator="true" emptyMessage="Boş" id="dataTable"  sortBy="#{teknisyen.teknisyenNo}" sortOrder="descending"  value="#{teknisyenOzet.teknisyenList}" style="width: 400px" var="teknisyen">
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Teknisyen No"/>
                    </f:facet><p:inplace>
                        <p:inputText   value="#{teknisyen.teknisyenNo}" size="10"  />
                        </p:inplace>
                </p:column>

                  <p:column>
                    <f:facet name="header">
                        <h:outputText value="Teknisyen Adı"/>
                    </f:facet><p:inplace>
                        <p:inputText   value="#{teknisyen.teknisyenAdi}" size="10"  />
                        </p:inplace>
                </p:column>

            </p:dataTable>

soruldu: 26 May '14, 14:07

gezegen's gravatar image

gezegen
25141617
cevap kabul oranı: 0%

daha updatesini eklemedim sadece insert edip listeyi getiriyorum

(26 May '14, 14:36) gezegen gezegen's gravatar image

Peki bir soru daha soracağım. Ben scop değiştirdim Request scope yaptım. Dün akşam normal ekliyorum listeyi ve anlık geliyordu liste. Herşey normal

Bilgisayarı kapadım akşam Sabah netbeans ve projeyi açıp ekle dediğimde ise eklemiyor sebebi ne olabilir. Mesela veritabanındaki tabloları şimdi silsem . Biliyorumki ekle dediğimde ekleyecek. Nedir bunun sebebi acaba

(27 May '14, 01:58) gezegen gezegen's gravatar image

Scope konusunu iyice okumanızı tavsiye ederim öncelikle.

Yanlış yeri update etmişsiniz ekleme işleminden sonra. Datatable'ı etmeniz lazım.

Request scope olunca view'ı her istekte yeniden oluşturuyor. Dolayısıyla listi yenilemiş oluyor otomatikman. Session scope'ta ise böyle birşey yok. Consructor çağrılmadığı için listeyi yenilemeniz ve view'da ilgili yeri update etmeniz lazım.

permanent link

cevaplandı: 26 May '14, 14:44

mucuraga's gravatar image

mucuraga
42681219
cevap kabul oranı: 10%

Veritabanındaki Tüm tabloları sildim Daha sonra RequestScoped yaptım ve sorun düzeldi. Ama SessionScoped de neden listeyi anlık alamadım anlamadım

(26 May '14, 14:18) gezegen gezegen's gravatar image

Ben her insertten sonra listeyi anlık olarak getirmek istiyorum düzenleme yapabilmek için bunun için sanırım request kullanmak gerekiyor. Ama tekrar okuyacağım

(26 May '14, 14:46) gezegen gezegen's gravatar image

Çünki, SessionScoped session başladığında çalışır ve session sona erene kadar bilgileri saklar. RequestScope ise her istekte çalışır ve bilgileri yeniler. En sık kullanılan View Scope'tur.

Scope'larla ilgili detaylı bilgiyi

http://balusc.blogspot.com.tr/2011/09/communication-in-jsf-20.html

adresinden inceleyebilirsin.

(26 May '14, 15:27) SaRPaRDa SaRPaRDa's gravatar image

teşekkürler

(26 May '14, 15:58) gezegen gezegen's gravatar image
-1

Neden @SessionScoped olarak tanımladın onu anlamadım. @SessionScoped olarak tanımlarsan sadece o kullanıcı tarafından erişilebilir. Tüm kullanıcıların erişmesi için @ViewScoped olması gerekir.

permanent link

cevaplandı: 26 May '14, 14:12

kurtomerfaruk's gravatar image

kurtomerfaruk
1.3k222940
cevap kabul oranı: 30%

Birde datatable i nerede update ediyorsun onu farketmedim?

(26 May '14, 14:21) kurtomerfaruk kurtomerfaruk's gravatar image

Scopeların başka kullanıcıların erişmesi ile bir ilgisi yok. Yanlış bilgilendirme yapmışsınız.

(26 May '14, 14:39) mucuraga mucuraga's gravatar image
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:

×1,079
×281
×86

Soruldu: 26 May '14, 14:07

Görüntüleme: 559 kez

Son güncelleme: 27 May '14, 03:23

powered by BitNami OSQA