Herkese iyi akşamlar. JSF ile dosya yükleme akabinde bu dosyayı okutup ekrana basmaya çalışıyorum. Dosyayı okutup bir string'e alıyorum. String'in içeriğine konsoldan baktığımda içi dolmuş görünüyor ama <h:outputTex value=#{bean.string} yaptığımda yazı ekrana basılmıyor. Ama aynı yazıyı elle outputText'e verince basıyor. Örneğin basmaya çalıştığım bir yazı şöyle:

Kocaeli Üniversitesi Teknik Eğitim Fakültesi'nden Bilgisayar Öğretmenliği mezunu olan Fatih Çal, bilişim     sektöründe 10 seneyi aşkın tecrübeye sahiptir. Başta web projeleri olmak üzere çeşitli projelerde ve kurumlarda çalışmıştır. Şuan Uluslararası Bir Dernekte ve Yayıncılık Sektöründe Bilgi İşlem Sorumlusu olarak görev almaktadır.

Bu sorun nasıl çözülür?

soruldu: 29 Eki '14, 14:51

ilkay's gravatar image

ilkay
726333649
cevap kabul oranı: 13%

değiştirildi: 29 Eki '14, 14:51

escape="true" degerini verin output component ına.

koduda gormek gerek. string ile kasıt nedir property nin adımıdır?

(29 Eki '14, 15:31) Turgay Can Turgay%20Can's gravatar image

<h:outputText value="#{bean.string}" /> diğer sınıflarda hata yoksa çalışmalı

permanent link

cevaplandı: 29 Eki '14, 15:56

serefAltindal's gravatar image

serefAltindal
1867814
cevap kabul oranı: 25%

Değişkene static özelliği verince sorun çözüldü. Static özelliğini vermek neden nasıl çözdü anlayamadım. Java tarafındaki kodum şu şekilde:

 public  String dosyaOku()
    {
        try 
        {
            FacesContext fc = FacesContext.getCurrentInstance();
            dosyaYolu = getCountryParam(fc);
            FileInputStream fis = new FileInputStream(dosyaYolu);
            //POIFSFileSystem fileSystem = new POIFSFileSystem(fis);            
            XWPFWordExtractor oleTextExtractor =new XWPFWordExtractor(new XWPFDocument(fis));
            System.out.println("DOSYANIN YOLUDUR HA");
            System.out.println("KİŞİ HAKKINDAKİ BİLGİLER"+oleTextExtractor.getText());

           bilgi=oleTextExtractor.getText();
           return "icerik.xhtml?faces-redirect=true";
        } 
        catch (Exception e) {
                System.out.println("HATANIZ:"+e);
                return "";
        }
    }

    public String getCountryParam(FacesContext fc){

        Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
        return params.get("dosyaYolu");

    }
permanent link

cevaplandı: 29 Eki '14, 17:11

ilkay's gravatar image

ilkay
726333649
cevap kabul oranı: 13%

değiştirildi: 29 Eki '14, 17:13

Turgay%20Can's gravatar image

Turgay Can
8.3k63798

bu kodda arayuze hangi degıskenin degerini yazdırmaya calısıyorsunuz.

(29 Eki '14, 17:14) Turgay Can Turgay%20Can's gravatar image

"bilgi" değişkenini hocam. O da yukarıda static String bilgi; şeklinde tanımlandı.

(29 Eki '14, 17:28) ilkay ilkay's gravatar image

bean nin scope u nedir? redirect ettirdiğin için scope kaybediyorsun. bu değişkenin getter ı var dimi?

(29 Eki '14, 17:44) Turgay Can Turgay%20Can's gravatar image

@RequestScoped kullandım hocam. Getter metodu var. Setter metodu da yazılı. Değişkenin değerinin metotdan çıkarken sıfırlanmasının nedeni setter metodu mu?

(29 Eki '14, 17:52) ilkay ilkay's gravatar image

scope u kaybettiğinde dolayı, viewscoped a ceksen farklı bir yere gideceğin için yine kaybedeceksin değeri, gittiğin içerik.xhtml'i 'in bean sınıfını bu işlem yaptığın sınıf içine ManagedProperty olarak ekleyip, buradaki değeri yönlendirdiğin bean içindeki bir değişkene set edersen değeri yakalarsın.

ManagedProperty(value="#{icerikBean}") private IcerikBean icerikBean;

//getter, setter

icerikBean.setBilg(bilgi);

icerikBean içindeki bir değişkenede bilgi değerini set etmen yeterli olur ;)

permanent link

cevaplandı: 29 Eki '14, 18:22

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 29 Eki '14, 18:24

Tekrardan merhaba hocam. Cevabınızda maalesef anlayamadığım yerler mevcut. Şöyle ki ben zaten bu bean içinde işlem yapıyorum ve başka bir yere yönlendirmiyorum. icerik.xhtml de kullandığım bean de yine bu bean. Bu bean sınıfının ismi DosyaOku.Java. icerik.xhtml de h:outputText value="#{dosyaOku.bilgi}" şeklinde çağırıyorum.

(30 Eki '14, 04:42) ilkay ilkay's gravatar image

ViewScoped kullanmayı dene o zaman.Farklı bir bean'e yönlendiriyorsun zannettim. Farklı bir bean'e yönlendirmiyorsan redirect etmene gerek yok, güncellemek istediğin component'ın id'sibi butonun update özelliğine vermen yeterli olur.

redirect'i kaldırmalısın. void bir metod olmalı.

(30 Eki '14, 05:29) Turgay Can Turgay%20Can's gravatar image

Hocam redirect hangi sayfaya gideceğini bilmesi için var. Benim anlamadığım nokta şu ki static özelliği verince tutabiliyor ama normal bir değişken olunca tutamıyor. Bu neden oluyor? Bildiğim kadarı ile static değişken kullanmak OOP'de tavsiye edilen bir durum değil.

(30 Eki '14, 08:51) ilkay ilkay's gravatar image

kim demiş :) ihtiyaca göre değişir. Eğer değişmeyen bir değer ise static final yapmak en iyisidir.

Tamamda aynı view'de işlemi yapıp yine aynı view 'e gönderiyorsun, neden böyle bir şey yapasın ki, butonunun update özelliğine güncellenmesini istediğin datatable yada her ne ise component'ın onun id'sini vermen yeterlidir.

(30 Eki '14, 11:07) Turgay Can Turgay%20Can'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:

×281
×3
×1

Soruldu: 29 Eki '14, 14:51

Görüntüleme: 626 kez

Son güncelleme: 30 Eki '14, 11:07

powered by BitNami OSQA