Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > JSF request parameters
Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
04.05.2009-22:17 #59566
<h:column>
                    <f:facet name="header">
                        <h:outputText value="#{dersMsg.dersDataTableEdit}"/>
                    </f:facet>
                    <h:commandButton value="#{dersMsg.dersDataTableEdit}" action="#{ders.dersDuzenle}">
                        <f:param name="dersId" value="#{d.id}"/>
                    </h:commandButton>
</h:column>

bir adet dataTable nesnem var.her satırda Ders nesnesinin alanlarını ekrana basıyor.her satırdaki nesnenin adı "d".aşağıda ki kodda her satıra bi tane duzenle butonu ekliyorum.Butona parametre olarak da o Dersin id'sini veriyorum.Bunu managed beande şöyle almaya çalışıyorum:
public String dersDuzenle() {
        FacesContext context = FacesContext.getCurrentInstance();
        int dersId = Integer.parseInt(getRequestParam(context,"dersId"));
        this.ders = this.lookupDersFacade().idIleBul(dersId);
        this.hideList();
        return null;

    }
    private String getRequestParam(FacesContext context, String param) {
        Map<String, String> params = context.getExternalContext().getRequestParameterMap();
        return params.get(param);
    }

ancak deger hep null geliyor.Bide debug yaparken getExternalContext() in attributes'lerinin içinde "d" isminde Ders nesnesi var.O andaki seçili ders nesnesi.Kısacası düşündüğüm mantık doğru mu yoksa daha güzel bir yol biliyor musunuz?Ve Ders nesnesini bu attrib. lerden mi çekmem lazım






bitiyo lan!
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
04.05.2009-22:27 #59567


<managed-bean>
        <managed-bean-name>HR_Person_Bean</managed-bean-name>
        <managed-bean-class>TableBeans.HR_Person_Bean</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
        <managed-property>
            <property-name>param1</property-name>
            <value>#{param.param1}</value>
        </managed-property>
    </managed-bean>


<rich:dataTable    id="registry"  rows="10"  value ="#{HR_Person_Bean.everyPerson}" var="personel"  >
                                                    

                                                    <rich:column rowspan="1" width="170" sortBy="#{personel.PERS_Name}" >
                                                        <f:facet name="header" >
                                                            <h:outputText value="Ad"/>
                                                        </f:facet>
                                                        <a4j:commandLink  value="#{personel.PERS_Name}" action="#{HR_Person_Bean.readTableFromParametre}"  >
                                                            <f:param name="param1" value="#{personel.PERS_Id}" />
                                                        </a4j:commandLink>
                                                    </rich:column>

 protected String param1; 


    public String getParam1() {
        return param1;
    }

    public void setParam1(String param1) {
        this.param1 = param1;
    }






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
05.05.2009-00:09 #59582
extreme yazdi
 

...

teşekkrler burak.faces-config'i kurcalamadan şöyle de yapılabiliyormuş.daha artistik:
                <h:column>
                    <f:facet name="header">
                        <h:outputText value="#{dersMsg.dersDataTableEdit}"/>
                    </f:facet>
                    <h:commandButton value="#{dersMsg.dersDataTableEdit}" action="#{ders.dersDuzenle}">
                        <f:setPropertyActionListener target="#{ders.dersIdTarget}" value="#{d.id}"/>
                    </h:commandButton>
                </h:column>


    private String dersIdTarget;

    public String getDersIdTarget() {
        return dersIdTarget;
    }
    public void setDersIdTarget(String dersIdTarget) {
        this.dersIdTarget = dersIdTarget;
    }

şurda detaylı bilgi var:
http://balusc.blogspot.com/2006/06/communication-in-jsf.html





bitiyo lan!
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
05.05.2009-15:31 #59599
Test edildi onaylandı :Dbiggrin Teşekkürlerapplause





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
01.07.2009-13:33 #62091
Selam Taşkın ,

<a4j:outputLink>
<f:setPropertyActionListener target="#{}" value="#{}">
<a4j:outputLink/>

Nasıl kullanabilirim?. Bu şekilde hata veriyor.

Link çalışmadan önce kullanmak istiyorum bunu.<a4j:support> kullanarak yapabilir miyim peki ?








www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
audtou


avatar
malatya
Kayıt: 31.08.2006
01.07.2009-21:58 #62120
canial yazdi
 
Selam Taşkın ,
<a4j:outputLink>
<f:setPropertyActionListener target="#{}" value="#{}">
<a4j:outputLink/>

Nasıl kullanabilirim?. Bu şekilde hata veriyor.

Link çalışmadan önce kullanmak istiyorum bunu.<a4j:support> kullanarak yapabilir miyim peki ?

outputLink normal link koyar.yani JSF life cycle çalışmaz.lifeCycle'lı olsun istiyosan
<a4j:commandLink>....
şeklinde yapman gerekiyor.





bitiyo lan!
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
01.07.2009-23:48 #62129
audtou yazdi
 
.


Çalışan:
 <h:outputLink  value="file?id=#{tahsildosya.DOC_Id}" target="_new" >
<h:outputText value="#{tahsildosya.DOC_Name}"/>
 </h:outputLink>


Çalışması gereken

<a4j:commandLink action="#{HR_Document_Bean.table.saveParameterToSession}"  value="file" target="_new" >
<h:outputText value="#{saglikdosya.DOC_Name}"/>
<f:setPropertyActionListener target="#{HR_Document_Bean.table.param1}" value="#{saglikdosya.DOC_Id}"/>
 </a4j:commandLink>



Böyle denedim ama sayfa açılmıyor :S. Link'i ("file") hangi attribute yazmalıyım.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
02.07.2009-10:56 #62149
 <h:outputLink  value="file" target="_new" >
<h:outputText value="#{saglikdosya.DOC_Name}"/>
<a4j:support event="onclick" action="#{HR_Document_Bean.table.saveParameterToSession}" >
<f:setPropertyActionListener target="#{HR_Document_Bean.table.param1}" value="#{saglikdosya.DOC_Id}"/>
 </a4j:support>
</h:outputLink>


Böyle yaptım oldubiggrin





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb