从数据库(JSF)动态创建的Combobox

时间:2014-01-09 20:40:22

标签: mysql jsp jsf combobox selectonemenu

我想在JSF中创建一个组合框(selectOneMenu)。我想用数据库中的一列(SELECT登录FROM数据库)中的所有登录来填充这个组合框。

在任何帮助下都会非常感激。

1 个答案:

答案 0 :(得分:0)

在你的支持bean(示例中的YourBean)中,你应该有一个字符串数组(或带有getter方法的对象,它返回你想要的String)。例如,假设您在辅助bean中有以下代码:

private ArrayList<String> logins; // read from DB
private String selectedLogin; // this will hold the selected value

// this method will be called by the JSF framework to get the list
public ArrayList<String> getLogins()
{
   return logins;
}

public String getSelectedLogin()
{
    return selectedLogin;
}


public String setSelectedLogin(String sl)
{
    selectedLogin = sl;
}

在Facelets页面中,假设您使用的是JSF 2.x:

<h:selectOneMenu value="#{YourBean.selectedLogin}">
            <f:selectItems value="#{YourBean.logins}" itemLabel="#{l}" itemValue="#{l}" var="l"/>
 </h:selectOneMenu>

这将创建一个包含数组中所有选项的选择菜单。提交表单后,将在您的支持bean的String值中设置该值。