0

こんにちは、リストを含むオブジェクトのリストがあります。これらをテーブルで繰り返し処理したいと思います。このようなもの。

<af:table value="#{backingBeanScope.evaluateBackingBean.subjects}"
var="subject">

<af:forEach var="course" items="${subject.courses}">

<af:column sortable="false"
headerText="#{evaluategyansokanviewcontrollerBundle.SUBJECT}"
id="colSubject" width="200">
<af:outputText value="#{subject.name}"id="ot2"/>
</af:column>

<af:column sortable="false"
headerText="#{evaluategyansokanviewcontrollerBundle.COURSE}"
id="colCourse">
<af:outputText value="#{course.name}"id="ot3"/>
</af:column>

...

私はこのコードが機能しないことを知っていますが、それは私が望むもののアイデアを与えるためのものです.

よろしくヨハネス

4

3 に答える 3

0

私にとって最も簡単な方法は、JSF でレンダリングする前に、Java でこれを実際にフラット化することです。次に、テーブルに「通常の」構文が必要です。したがって、科目別のコースの ArrayList かもしれません。

List<CourseBySubject> coursesBySubject;

public List<CourseBySubject> getCoursesBySubject() {
    if (coursesBySubject == null) {
        coursesBySubject = new ArrayList<Object>();
        Iterator<Subject> subjectIterator = subjects.iterator();
        while (subjectIterator.hasNext()) {
            Subject subject = subjectIterator.next();
            courses = subject.getCourses();
            Iterator<Course> courseIterator = courses.iterator();
            while (subjectIterator.hasNext()) {
                Course course = courseIterator.next();
                coursesBySubject.add(new CourseBySubject(subject.name, course.name));
            }
        }

    }
    return coursesBySubject;

}
于 2013-03-12T16:59:49.550 に答える