JSF 2アプリケーションでselectOneMenuを使用して、ユーザーが1か月の日を選択できるようにしています。なんらかの理由で「SelectDay」というラベルが表示されません。これは私がしていることです:
<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;
@PostConstructinitメソッドでインスタンス化しています。
days = new LinkedList<Integer>();
for(int i=1; i<=31; i++) {
days.add(i);
}
すべて正常に動作しますが、値は「SelectDay」ではなく「1」に表示されます。上記のタグでさまざまなバリエーションを試しましたが、何も機能しません。私は何が欠けていますか?
編集:私は年を表示する同様のウィジェットも持っています。これは同じ方法で初期化されますが、ループは2012年から始まります。次のようになります。
years = new LinkedList<Integer>();
for(int i=2012; i<=2020; i++) {
years.add(i);
}
これは正常に機能し、期待どおりに「SelectYear」が表示されます。では、インスタンス化ループの問題は1から始まりますか?もしそうなら、回避策は何ですか?