Я использую selectOneMenu в приложении JSF 2, чтобы позволить пользователям выбирать день в месяце.По какой-то причине я не могу найти ярлык «Выбрать день».Вот что я делаю:
<h:selectOneMenu id="startDay" value="#{bean.day}">
<f:selectItem itemLabel="Select Day" itemValue=""/>
<f:selectItems value="#{bean.days}"/>
</h:selectOneMenu>
Код в компоненте выглядит следующим образом:
private int day;
private List<Integer>days;
Который я создаю в методе инициализации @PostConstruct:
days = new LinkedList<Integer>();
for(int i=1; i<=31; i++) {
days.add(i);
}
Все отлично работает, но значение отображается в «1», а не «Выбрать день».Я пробовал разные варианты тегов выше, но ничего не работает.Что мне не хватает?
РЕДАКТИРОВАТЬ: у меня также есть аналогичный виджет, отображающий годы, который инициализируется таким же образом, но с циклом, начинающимся с 2012 года. Вот так:
years = new LinkedList<Integer>();
for(int i=2012; i<=2020; i++) {
years.add(i);
}
Это работает нормально, показываяВыберите год ", как и ожидалось.Так проблема в том, что инстанцирующий цикл начинается с 1?И если да, то какой обходной путь?