Jsf f:selectItems标记未执行

Jsf f:selectItems标记未执行,jsf,jsf-2,Jsf,Jsf 2,视图: 型号: <h:selectOneMenu value="#{studentBean.gender}"> <f:selectItems value="#{studentBean.genderList()}" /> </h:selectOneMenu> publicstaticarraylistgenderlist(){ ArrayList genders=新的ArrayList(); 试一试{ 性别。添加(“男性”); 性别。添加(“女性”

视图:


型号:

<h:selectOneMenu value="#{studentBean.gender}">
    <f:selectItems value="#{studentBean.genderList()}" />
</h:selectOneMenu>
publicstaticarraylistgenderlist(){
ArrayList genders=新的ArrayList();
试一试{
性别。添加(“男性”);
性别。添加(“女性”);
性别。添加(“其他”);
}捕获(例外e){
e、 printStackTrace();
}
返回性别;
}
HTML输出:

public static ArrayList<String> genderList(){
    ArrayList<String> genders = new ArrayList<String>();
    try{
        genders.add("Male");
        genders.add("Female");
        genders.add("Others");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return genders;
}

这是带有下拉菜单的用户界面,没有填充,知道吗


嗨,欢迎来到SO。我改进了你的标题和标签。请始终为您遇到的问题创建一个解决方案。另请参阅并将您的代码(java和xhtml)与现代教程中的一个工作示例进行比较,并查找差异(提示:最有可能与命名空间声明相关)。请不要使用三个backtic突出显示多行代码,而是使用四个空格的缩进,以空行开始新行before@Kukeltje谢谢你的指导。我正在经历。
<f:selectitems value="[Male, Female, Others]"></f:selectitems>
<select name="createStudentForm:j_idt27" size="1"></select>