我在 JSF 2 应用程序中使用 selectOneMenu 来允许用户选择一个月中的一天。出于某种原因,我无法显示“选择日期”标签。这就是我正在做的事情:
<h:selectOneMenu id="startDay" value="#{bean.day}">
<f:selectItem itemLabel="Select Day" itemValue=""/>
<f:selectItems value="#{bean.days}"/>
</h:selectOneMenu>
bean中的代码是这样的:
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 开始的实例化循环是否存在问题?如果是这样,解决方法是什么?