2017-03-08 72 views
0

我有一個數據表從數據庫中填充具有postconstruct註釋的初始化函數,問題是,當我刪除表中的一行表數據並沒有改變,甚至認爲該實例實際上是從數據庫中刪除,所以我想知道如果我可以再次執行init函數,那麼它會從DB中獲取新數據,並使用ajax將它們放入datatable中。有沒有一種方法可以在操作之後重新執行postconstract init方法?

@ManagedBean 
 
@SessionScoped 
 
public class Compte implements Serializable{ 
 

 
\t /** 
 
\t * 
 
\t */ 
 
\t private static final long serialVersionUID = -7177239517089845251L; 
 
\t 
 
\t private int id_compte; 
 
\t private int id_agence; 
 
\t private int id_client; 
 
\t private String num_compte; 
 
\t private double solde; 
 
\t private String date_creation_compte; 
 
\t public ArrayList<Compte> comptes; 
 
\t 
 
\t dao d = new dao(); 
 
\t 
 
\t public Compte() { 
 
\t \t super(); 
 
\t \t // TODO Auto-generated constructor stub 
 
\t } 
 
\t 
 
\t @PostConstruct 
 
    public void init() { 
 
\t \t 
 
\t \t ExternalContext ec = 
 
\t \t \t \t FacesContext.getCurrentInstance().getExternalContext(); 
 
\t \t HttpSession session = (HttpSession) ec.getSession(false); 
 
\t \t if(session.getAttribute("idagence")!=null){ 
 
\t \t \t comptes=d.getComptesAgc((String)session.getAttribute("login")); 
 
\t \t }else{ 
 
\t \t comptes=d.getComptes((String)session.getAttribute("login"));} 
 
    }

<ui:composition template="./WEB-INF/template/template.xhtml"> 
 
     <ui:param name="titre" value="Liste de Comptes"/> 
 
     <ui:define name="content"> 
 
     
 
      <ice:form id="form"> 
 
      <style type="text/css"> 
 
       .ui-datatable-odd { 
 
        background-color:lightgray !important; 
 
        background-position-y: -1400px; 
 
       } 
 
      </style> 
 
\t \t \t <ace:dataTable id="cptTable" value="#{compte.comptes}" 
 
\t \t \t \t var="cpt" paginator="true" paginatorPosition="bottom" rows="10"> 
 
     ... 
 
     </ace:dataTable>

+0

解決方法是執行dataTable的更新,而不是'通過調用postConstruct註釋的方法'從數據庫中提取新數據並將它們放入datatable中使用ajax' –

+0

uhhmmmm? – Kukeltje

回答

0

我會建議將您用來填充您的數據表到它自己的方法,以便它可以被稱爲必要時通過您的代碼@ PostConstruct,操作方法和/或Ajax方法。

+0

是的,但是如果OP想要調用的代碼是完整的postconstruct註釋方法,那將會是過度的 – Kukeltje

+0

因此,我不建議從另一種方法調用完整的@PostConstruct方法。 – John

+0

小心解釋爲什麼?危險是什麼?因爲我沒有看到任何風險/危險/問題,然後我們會有兩個相互競爭的(有見解的)答案,這不是StackOverflow的意義......意見......它是關於確切的,具體的(一個thruth)答案 – Kukeltje

相關問題