我想在JSF中创建一个组合框(selectOneMenu)。我想用数据库中的一列(SELECT登录FROM数据库)中的所有登录来填充这个组合框。
在任何帮助下都会非常感激。
答案 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值中设置该值。