2017-04-09 91 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分析数据以供将来显示所有统计数据并在其他视图中编辑它们。