在元素列表中插入元素以呈现空行

时间:2013-03-11 23:08:45

标签: jsf jsf-2 primefaces

我在前端使用primefaces并使用我的支持bean中的arraylist填充selectOneList

我想让新行分隔数组列表以进行逻辑分离

如何向ArrayList添加一个元素,该元素将呈现为空行

1 个答案:

答案 0 :(得分:1)

以下代码将帮助您实现所需的功能,即在<p:selectOneListBox>中输入一些空行。现在我不确定这个组件的特征是挤出空字符串。因此""无效。

这是一个示例托管bean:

package app.so.dev.web.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import app.so.dev.web.model.Student;

@ManagedBean(name = "so15350373")
@ViewScoped
public class SO15350373 implements Serializable{

    private static final long serialVersionUID = 2190171095461884759L;
    private List<Student> students;
    private int selected;

    @PostConstruct
    public void init() {
        students = new ArrayList<Student>();
        students.add(new Student(1, "Student 1"));
        students.add(new Student(2, "&nbsp;"));
        students.add(new Student(3, "Student 3"));
        students.add(new Student(4, "&nbsp;"));
        students.add(new Student(5, "Student 5"));
        students.add(new Student(6, "Student 6"));
    }

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

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

    public int getSelected() {
        return selected;
    }

    public void setSelectedStudent(int selected) {
        this.selected = selected;
    }   
}

Student是一个简单的POJO,有两个字段idname。为了简洁起见,我没有展示这个课程:P。

这是xhtml:

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" template="/WEB-INF/templates/globalTemplate.xhtml">

    <ui:define name="title">15350373</ui:define>
    <ui:define name="content">
        <h:form>
            <p:selectOneListbox value="#{so15350373.selected}" id="list">
                <f:selectItems value="#{so15350373.students}" var="student" itemLabel="#{student.name}" itemValue="#{student.id}" />
            </p:selectOneListbox>
        </h:form>
    </ui:define>

</ui:composition>
相关问题