Selam Arkadaslar

JSf projede

Bean1.class

@ManagedBean
@SessionScoped
public class Bean1 implements Serializable {

    private String Param;

    public String getParam() {
        return Param;
    }

    public void setParam(String Param) {
        this.Param = Param;
    }

}

Bean2.class

@ManagedBean
@SessionScoped
public class Bean2 implements Serializable {

    private String Param;

    public String getParam() {
        return Param;
    }

    public void setParam(String Param) {
        this.Param = Param;
    }

    public void getBean1Param(){
        Bean1 b = new Bean1(); // Yanlisdir 
        this.Param = b.getParam();
    }

}

JSf Sayfa

<h:form>
    <h:inputText value="#{bean1.param}"/>
    <h:commandButton value="Oku" actionListener="#{bean2.bean1Param}">
        <f:ajax event="click" render=":outpt"/>
    </h:commandButton>
    <h:outputText id="outpt" value="#{bean2.param}"/>
</h:form>

Ben Bean2 de getBean1Param() metodunu nasil yapmaliyim ki JSF Sayfa dan Bean1 in Param nesnesine verdiyim deyeri okiya biliyim.

Teşekkürler

soruldu: 05 Ara '13, 23:51

arzumanbayramov's gravatar image

arzumanbayramov
56559
cevap kabul oranı: 0%

değiştirildi: 05 Ara '13, 23:55

Arkadaslar hepinize tesekkur ederim. Cevaplarin hepsi benim icin faydali oldu

(06 Ara '13, 02:55) arzumanbayramov arzumanbayramov's gravatar image

Merhaba

İlk önce sayfada degeri set ederken değeri FacesContext 'e atarsın ...

<h:form>
    <h:inputText value="#{bean1.param}"/>
    <h:commandButton value="Oku" actionListener="#{bean2.bean1Param}">
        <f:ajax event="click" render=":outpt"/>
     ===========   <f:param value="#{bean1.param}" name="paramDeger"/>  ====== Burayı ekle
    </h:commandButton>
    <h:outputText id="outpt" value="#{bean2.param}"/>
</h:form>

sonra Bean2 sınıfında artık nerede okuyacaksan oradan çekeceksin o değeri

String paramDeger = (String) FacesContext.getCurrentInstance().
                getExternalContext().getRequestParameterMap().get("paramDeger");

değeri aldıktan snra istediğin yere set edersin ...

İyi Çalışmalar

permanent link

cevaplandı: 06 Ara '13, 00:02

Mehmet%20KILIC's gravatar image

Mehmet KILIC
51191422
cevap kabul oranı: 20%

Eğer scope session'sa ManagedProperty olarak bean'i diğer bean içine ekleyebilirsiniz, sonrada set metodunu yazınız. Böylelikle bean'içindeki tüm global değişkenlerin değerlerine ulaşmış olacaksınız.

Kullanımı;

   @ManagedProperty(value="#{testBean}")
private TestBean testBean;

public void setTestBean(testBean testBean) {
    this.testBean = testBean;
}
permanent link

cevaplandı: 06 Ara '13, 00:08

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 06 Ara '13, 00:22

Eğer iki si de SessionScope da ise, Bean1 de Bean2 de direkt olarak jsf sayfasından ulaşabilirsiniz. Eğer herhangi bir nedenden dolayı Bean2 içerisinde Bean1 e ihtiyaç duyuyorsanız @J2EE nin de dediği gibi Bean1 i Bean2 nin içine Inject edebilirsiniz.

permanent link

cevaplandı: 06 Ara '13, 00:14

mceliksoy's gravatar image

mceliksoy ♦
6.5k84988
cevap kabul oranı: 25%

ValueExpression üzerinden okuybilirsin;

FacesContext context = FacesContext.getCurrentInstance();
ValueExpression ve = context.getApplication().getExpressionFactory().createValueExpression(context.getELContext(), "#{Bean1.param}", Object.class);
String Bean1Param = (String) ve.getValue(context.getELContext());
permanent link

cevaplandı: 06 Ara '13, 00:16

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

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

Soruldu: 05 Ara '13, 23:51

Görüntüleme: 696 kez

Son güncelleme: 06 Ara '13, 16:07

powered by BitNami OSQA