2017-03-08 8 views
0

私は、postconstruct annotationを持つinit関数を使ってDBから読み込まれたデータテーブルを持っていますが、テーブル内の行を削除すると、テーブルのデータが変更されず、インスタンスがDBから実際に削除されたと思っています私は再度init関数を実行することができるので、DBから新しいデータを取得し、おそらくajaxを使ってdatTableに入れます。アクションの後にポストコンセント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の更新を実行することではなく、 'DBから新しいデータを取り込み、ajax'を使ってdatTableに入れます' –

+0

uhhmmmm postConstruct注釈付きメソッドを呼び出すことによってですか? – Kukeltje

答えて

0

は、私はそれが必要なとき、あなたが呼び出すことができるようにあなたがそれ自身の方法にあなたのDataTableを埋めるために使用するコードを置く推薦します@ポストコンストラクト、アクションメソッド、および/またはAjaxメソッド。

+0

はい、OPが呼びたいコードが完全なポストコンストラクションの注釈付きメソッドであれば、それは残念です – Kukeltje

+0

したがって、別のメソッドから完全な@PostConstructメソッドを呼び出すことはお勧めしません。 – John

+0

なぜ説明するのが気になる?危険は何ですか?私は何も危険/危険/問題を見ていないので、私たちは2つの競合する(懐疑的な)回答を持っていて、それはStackOverflowについてのものではない...意見...正確で具体的な(1つのthruth) – Kukeltje

関連する問題