p:selectOneMenu不会打印值

时间:2018-03-20 13:56:45

标签: jsf primefaces

为什么我的代码会打印此代码而不是打印保存在数据库中的学生姓名?

这是我的代码:

public class stdmanagedbean {

    @PostConstruct
    public void init() {
        studentmn mani = new studentmn();
        students = mani.getStudentList();
    }

    public stdmanagedbean() {
    }

    private List<student> students = new ArrayList<>();

    public List<student> getStudents() {
        return students;
    }

    public void setStudents(List<student> students) {
        this.students = students;
    }

填充列表的方法

public student populatestd(ResultSet rs) throws SQLException {

    student st = new student();
    st.setId(rs.getInt("id"));
    st.setName(rs.getString("name"));
    return st;
}

这是我的xhtml代码

<body>
    <h:form>
       <p:outputLabel for="list" value="STUDENTS: " />
        <p:selectOneMenu id="list"  value="#{stdmanagedbean.students}" style="width:500px">

             <f:selectItems value="#{stdmanagedbean.students}"/>
             <f:selectItem itemLabel="Select one of these" itemValue="" noSelectionOption="true" />

             </p:selectOneMenu>
    </h:form>

1 个答案:

答案 0 :(得分:0)

你必须使用一个名为&#34;学生&#34;例如,然后使用itemLabel="student.name",这将显示学生的姓名,itemValue="student"用于定义所选项目的值:

<f:selectItems var="student" value="#{stdmanagedbean.students}" itemLabel="#{student.name}" itemValue="#{student}"/>