我有一個綁定到一個數字字段xpage上的組合框。用於填充的SelectItem值組合是在一個託管bean,看起來像這樣的代碼:與Integer值組合框
/*
* 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?
請幫我分解一下這個。
感謝,奧維