2013-08-04 3 views
0

Мне нужно создать список selectOneMenu для дня рождения. Мне нужно что-то вроде этого:Как заполнить список selectOneMenu со значениями от 1 до 31

for(int i=1;i<32;i++) 
system.out.println(i); 

Как я могу это достичь?

+0

Почему вы не прошли через JSF книги/учебник первым? Я рекомендую сделать это, прежде чем продолжить работу с JSF. – BalusC

+0

У вас есть готовые компоненты календаря для этого. –

ответ

2

Что вам нужно, это использовать f:selectItems. В StackOverflow также есть good wiki page.

И, кстати, чтобы выбрать дату, вы можете использовать date picker богатой библиотеки компонентов, такой как PrimeFaces или RichFaces.

+1

Или если OP не хочет добавлять датупиксера из одной из этих библиотек, он может использовать '' и украсить его компонентом jQuery, но компонент datepicket станет лучшей идеей. –

0

Один из способов сделать это - создать список в бэкэнде со значениями и вернуть их в поле зрения с помощью selectIems. Например:

@ManagedBean 
public class ManagedBean{ 
    private ArrayList list; 


    @PostConstruct 
    public void init(){ 
     for(int i=1; i<32;i++) 
      list.add(i); 
    } 

    //getter and setter 
} 

в представлении:

<h:selectOneMenu value="#{managedBean.someValue}"> 
    <f:selectItems value="#{managedBean.list}" var="day" itemValue="#{day}" itemLabel=#{day}/> 
</h:selectOneMenu> 
0

без поддержки боб:

<h:selectOneMenu value="#{...}" >    
    <c:forEach var="i" begin="1" end="31"> 
     <f:selectItem itemLabel="#{i}" itemValue="#{i}" />  
    </c:forEach> 
</h:selectOneMenu>