2017-04-09 89 views
0

我有一個問題。如果我想在h:inputText開始顯示一個「默認值」,我應該使用默認值做第二個getter? 爲前:我的實體有場:JSF - inputText - 默認值

private int yellowCards; 

public int getYellowCards() { 
    return yellowCards; 
} 

public void setYellowCards(int yellowCards) { 
    this.yellowCards += yellowCards; 
} 

在DB有3張黃牌。現在我想爲這個實體添加另一個統計信息 - 下一張黃牌。但我不想在inputText中查看「3」,但默認爲「0」。有什麼方法可以設置這個字段的「默認」值,或者只爲這個視圖添加第二個getter(因爲在其他視圖中我需要使用這個第一個getter來顯示所有的統計信息)。

+0

您可以通過三種方式初始化java託管bean字段:定義,構造函數或@PostConstruct註釋方法 –

回答

0

使用豆的回調方法:@PostConstruct,這將允許你做的東西的頁面被渲染之前:

private int yellowCards; 

@PostConstruct 
public void init(){ 
    yellowCards = 0; 
} 

// getter/setter 
+0

構造函數,@PostC在此不起作用,因爲此實體位於DB和in輸入字段是來自數據庫的值。 – proceder

+0

您可以在與此實體關聯的託管bean中使用此方法。 – Omar

0
@Field 
private int minutesPlayed;  
@Transient 
private int STATminutesPlayed; 

public int getSTATminutesPlayed() { 
    return 90; 
} 

public void setSTATminutesPlayed(int STATminutesPlayed) { 
    setMinutesPlayed(STATminutesPlayed); 
} 
public int getMinutesPlayed() { 
    return minutesPlayed; 
} 

public void setMinutesPlayed(int minutesPlayed) { 
    this.minutesPlayed += minutesPlayed; 
} 

我覺得是做的最好的方式。 STAT字段和getter/setter用於添加統計數據,以及用getter/setter分析數據以供將來顯示所有統計數據並在其他視圖中編輯它們。