2017-05-03 69 views
1

我想將參數#{myvar.tc}與f:屬性組件一起傳輸。在datatable cocukDoktor()方法「dr_tc」來了。我想在參數傳輸後運行drgor.sayfaYonlendirme()。但#{myvar.tc}不會傳輸。我能做什麼?從jsf將f:屬性傳遞給java變量?

<h:dataTable value="#{doktor.cocukDoktor()}" var="myvar"> 
        <table> 
         <tr> 
          <td> 
           <h:column> 
           <h:graphicImage class="doktorfoto" value="resources/images/doktorfoto.jpg"/> 
           </h:column> 
          </td> 
          <td> 
           <h:column> 
            <h:form> 
             <h:commandLink class="doktorismi" action="#{drgor.sayfaYonlendirme()}" actionListener="#{drgor.drtcAyarla}" >#{myvar.dr_adi} #{myvar.dr_soyadi} 
              <f:attribute name="dr_tc" value="#{myvar.dr_tc}"/> 
            </h:commandLink> 
            </h:form> 
           </h:column> 
          </td> 
         </tr> 
        </table> 
       </h:dataTable> 

豆代碼

@ManagedBean(name="drgor") 
@SessionScoped 
public class doktorgoruntule { 

    Connection conn = null; 
    PreparedStatement ps = null; 
    ResultSet rs = null; 
    String drAdi; 
    String drSoyadi; 

    public String getDrAdi() { 
     return drAdi; 
    } 

    public void setDrAdi(String drAdi) { 
    this.drAdi = drAdi; 
    } 

    public String getDrSoyadi() { 
    return drSoyadi; 
    } 

    public void setDrSoyadi(String drSoyadi) { 
    this.drSoyadi = drSoyadi; 
    } 


    public String dr_tc; 

    public void setDr_tc(String dr_tc) { 
    this.dr_tc = dr_tc; 
    } 

    public String getDr_tc() { 
    return dr_tc; 
    } 

    public void drtcAyarla(ActionEvent event){ 
    dr_tc = (String)event.getComponent().getAttributes().get("dr_tc"); 
    } 

    public String sayfaYonlendirme(){ 
    return "cocukDoktorGoruntule?faces-redirect=true」"; 
    } 

    public ResultSet cocukdoktorGoruntule() throws Exception{ 


    try{ 
     Class.forName("org.postgresql.Driver"); 
     conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/tipmerkezivt","postgres", "2569"); 
     ps = conn.prepareStatement("select * from doktor \n" + 
            "WHERE\n" + 
            "dr_tc = '"+dr_tc+"'" , ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); 
     rs = ps.executeQuery(); 

     return rs; 


    } 
    catch (Exception e) { 
     throw new Exception("Bağlantı başarısız!"); 
    } 

    finally{ 
     conn.close(); 
    }   
    } 

} 

回答

1

你可以把它與

<h:form> 
    <h:dataTable value="#{doktor.cocukDoktor()}" var="myvar"> 
    <h:column> 
     <h:graphicImage class="doktorfoto" value="resources/images/doktorfoto.jpg"/> 
    </h:column> 
    <h:column> 
     <h:commandLink class="doktorismi" 
        action="#{drgor.sayfaYonlendirme()}" 
        actionListener="#{drgor.drtcAyarla}" 
        value="#{myvar.dr_adi} #{myvar.dr_soyadi}" 
    > 
    <f:setPropertyActionListener target="#{drgor.tr_tc}" value="#{myvar.dr_tc}" /> 
    </h:commandLink> 
    <h:column> 
    </h:dataTable> 
    </h:form> 

反正一試,就沒有必要做表HTML的東西,它是由DataTable中完成的。此外,醫生班缺少給你更多的幫助。爲了獲得更多滿意的幫助,您需要提供更多信息。