0

フロントエンドでprimefacesをselectOneList使用しており、バッキングBeanでarraylistを使用してデータを入力しています

いくつかの論理的な分離を行うために、配列リストを新しい行で分離したい

空の行ArrayListとしてレンダリングされる要素をに追加するにはどうすればよいですか?

4

1 に答える 1

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;
    }   
}

これは、2つのフィールドと。Studentを持つ単純なPOJOです。簡潔にするために、このクラスは示していません:P。idname

そしてこれは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>
于 2013-03-12T07:28:06.820 に答える