Number 필드에 바인딩 된 xpage에 comboBox가 있습니다. 콤보가 관리 빈에이 같은 찾고 SelectItem 값을 채우는 데 사용되는 코드 :정수 값을 사용하는 comboBox
/*
* 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이므로 해당 부분이 맞습니다.
콤보 상자는 숫자 변환기를 사용하여 정수 형식의 필드와 일치시킵니다.
문제는이 구성으로 유효성 검사가 실패한다는 것입니다.
이 사이트에는 비슷한 문제를 해결하는 또 다른 질문이 있지만, 저는 콩을 사용하기 때문에 다른 각도를 가지고 있습니다. 다른 질문에서 이것이 853에서 작동했지만 9에서 작동하지 않았다고 제안되었습니다. 이거 버그 야? 그리고 그 버그는 SPR을 가지고 있습니까?
제발 좀 도와주세요. 당신이 컨버터 integerOnly=true
를 사용하는 경우
덕분에, 비켜