【问题标题】:JSF - inputText - default valueJSF - inputText - 默认值
【发布时间】:2017-04-09 08:47:29
【问题描述】:

我有一个问题。如果我想在 h:inputText 开始时显示“默认值”,我应该使用默认值做第二个 getter 吗? 例如:我的实体有字段:

private int yellowCards;

public int getYellowCards() {
    return yellowCards;
}

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

在分贝有 3 张黄牌。现在我想为这个实体添加另一个统计数据 - 下一张黄牌。但我不想在视图“3”中输入文本,但默认为“0”。有没有办法设置这个字段的“默认”值或者只为这个视图添加第二个getter?(因为在其他视图中我需要使用这个第一个getter来显示所有统计信息)。

【问题讨论】:

  • 您可以通过三种方式初始化 java 托管 bean 字段:在定义时、在构造函数中或在 @PostConstruct 注释方法中

标签: jsf


【解决方案1】:

使用 bean 的回调方法:@PostConstruct,这将允许您在页面呈现之前做这些事情:

private int yellowCards;

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

// getter/setter

【讨论】:

  • 构造函数和@PostC 在这里不起作用,因为该实体在 DB 中,而输入字段中的值来自 DB。
  • 您可以在与该实体关联的托管 bean 中使用这种方法。
【解决方案2】:
@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 一起播放以供将来显示所有统计数据,或者在其他视图中编辑它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    相关资源
    最近更新 更多