gpt4 book ai didi

java - 具有整数值的组合框

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:36 25 4
gpt4 key购买 nike

我在绑定(bind)到数字字段的 xpage 上有一个组合框。用于填充组合的 SelectItem 值的代码位于托管 bean 中,如下所示:

/*
* Returns last year, current year and next year as List<SelectItem>
* For use with comboBox selection values
*/
public List<SelectItem> getYearSelectItems() {
int thisYear = Calendar.getInstance().get(Calendar.YEAR);
List<SelectItem> selectItems = new ArrayList<SelectItem>();
selectItems.add(new SelectItem(new Integer(thisYear - 1), new Integer(thisYear - 1).toString()));
selectItems.add(new SelectItem(new Integer(thisYear), new Integer(thisYear).toString()));
selectItems.add(new SelectItem(new Integer(thisYear + 1), new Integer(thisYear + 1).toString()));

for(int i = 1; i < selectItems.size(); i ++) {
System.out.println(new Integer(i).toString() + ": " + selectItems.get(i).getValue().getClass());
}
return selectItems;
}

如您所见,我正在将 SelectItem 值的类名称打印到控制台以进行调试。控制台中列出的类名是java.lang.Integer,所以这部分肯定是对的。

组合框使用数字转换器来匹配表单中的字段,仅限整数。

问题是使用此配置验证失败。

我知道这个网站上还有另一个问题解决了类似的问题,但我的角度不同,因为我使用的是 bean。在另一个问题中,有人建议这在 853 中有效,但在 9 中无效。如果是这样;这是一个错误吗?这个 bug 有 SPR 吗?

请帮我解释一下。

谢谢,欧维

最佳答案

事实证明 <xp:convertNumber>误解 SelectItem(<Integer>, <String>)出于某种奇怪的原因。更改为 Double 解决了我的问题。

代码:

/*
* Returns last year, current year and next year as List<SelectItem>
* For use with comboBox selection values
*/
public List<SelectItem> getYears() {
int thisYear = Calendar.getInstance().get(Calendar.YEAR);
List<SelectItem> years = new ArrayList<SelectItem>();
years.add((new SelectItem(new Double(thisYear - 1), new Integer(thisYear - 1).toString())));
years.add(new SelectItem(new Double(thisYear), new Integer(thisYear).toString()));
years.add(new SelectItem(new Double(thisYear + 1), new Integer(thisYear + 1).toString()));

}
return years;
}

关于java - 具有整数值的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21921505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com