如何使用1到31之间的值填充selectOneMenu列表

时间:2013-08-04 04:41:02

标签: jsf selectonemenu

我需要为出生日创建一个selectOneMenu列表。我需要这样的东西:

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

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

您需要使用f:selectItems。 StackOverflow还有一个good wiki page

顺便说一句,要选择日期,您可以使用Prime {{$ 3}}这样的富组件库,如PrimeFaces或RichFaces。

答案 1 :(得分:0)

这样做的一种方法是使用值在backing bean中创建一个列表,并使用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>

答案 2 :(得分:0)

没有支持bean:

<ListView x:Name="MyClientslistView" HasUnevenRows="true"  ItemTapped="OnSalesReport">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>

                            <StackLayout Orientation="Vertical" VerticalOptions="Center"  Margin="5" >
                                <Label Text="{Binding client_name}" TextColor="#A7A392" />
                                <Label Text="{Binding client_address}" TextColor="Black" />
                                <Label Text="{Binding client_phone}"  TextColor="Black" />
                                <Label Text="{Binding client_email}"  TextColor="Black" />
                                <Label Text="{Binding AssignStatus}"  TextColor="Black" />
                                <Label Text="{Binding assignmentComments}"  TextColor="Black" />
                            </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>