2016-01-13 58 views
0

我試圖通過使用兩個不同的代碼打開一個彈出的mailto:commandlink primefaces與HREF

(1)- <p:link href="mailto:#{classManagedBean.sendEmails}" /> 

(2)- <p:commandlink actionListener="#{candidatManagedBean.sendEmails()}" /> 

的「senEmails」是爲了獲得所有被選中的郵件在classManagedBean聲明的方法時,提交完成的表格。

,我encountred當伊蘇斯:

  • 與代碼工作(1)所選擇的郵件來到managedBean空值和郵件界面與空郵件打開的彈出(爲目的地)

  • 與代碼(2)選擇郵件附帶了正確的價值觀,但彈出沒有出現(東陽沒有HREF attribut !!在commandLink)

我的問題是如何使用一個

<p:link> with a submit form 

<p:commandLink> with href attribut

的XHTML:

<h:form id="form"> 
    <p:link href="#{candidatManagedBean.createmaito()}"> 
     <p:graphicImage width="25" value="ecrire.png" height="25" alt="envoyer"/> 
    </p:link> 
</h:form> 



    <p:dataTable id="listCandidat" 
        value="#{candidatManagedBean.listCandidat}" 
          emptyMessage="0 candidat trouvé" 
          var="item" 
          paginator="true" rows="15" paginatorPosition="bottom" 
          rowKey="#{item.idCandidat}" 
          paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}" 
          lazy="true" 
          selection="#{candidatManagedBean.selectedCandidates}" 
          > 


     <p:ajax event="rowSelect" listener="#{candidatManagedBean.onRowSelect}" /> 

     <p:column exportable="false" selectionMode="multiple" style="width:16px;text-align:center"/>      

     {<p:column>...</p:column>}   

    </p:dataTable> 

的managedBean:

public String createmaito() { // private List<Candidat> selectedCandidates; 

     System.out.println(selectedCandidates);//here i got a null value of selectedCandidates 
     if (selectedCandidates != null && !selectedCandidates.isEmpty()) { 
      for (Candidat cand : selectedCandidates) { 
       lsEmail = lsEmail.concat(cand.getEmail1()); 
       lsEmail = lsEmail.concat(","); 
      } 
      lsEmail= lsEmail.substring(0, lsEmail.length()-1);   
      result = lsEmail; 


     } 
     else {    
      result = ""; 
     }  
     return result; 
} 

非常感謝,

+1

焦點:link'也創建一個[MCVE]和關注它爲什麼是空的。你的問題標題表明你正試圖解決第二個問題,你認爲這是解決問題的辦法。 – Kukeltje

+0

我試圖編輯我的問題,以便更具體。你能再看一次嗎? – Selma

+0

你的問題很清楚,那不是問題。你關於如何在'p:link'上提交表單或者在'p:commandButton'上有'href'的問題,都會以錯誤的方式完全解決問題。在選擇行並更新'p:link'時,請注意使用ajax – Kukeltje

回答

0

我得到的溶液如下:

-In XHTML:

<p:commandLink actionListener="#{ManagedBean.getListeOfEmailContacts()}"> 
    <p:graphicImage value="/mail.png" /> 
</p:commandLink> 

-In託管bean:上`p

public void getListeOfEmailContacts() { 
    /* instruction to get the ListOfContacts ...*/ 

    RequestContext.getCurrentInstance().execute("window.open(href ='mailto:" + ListOfContacts + "')"); 
}