name 、title 、status およびremarks フィールドはすべてString (コメント
)for Objectをキャストする必要があるループ Stringとして 4つのArrayListは必要ありません このために。
行タグは次のようになります。
<liferay-ui:search-container-row className="java.lang.Object" modelVar="search">
<%--
Since an "Object[]" is nothing but an "Object", we first cast the "search"
instance to an "Object[]" and then to a "String"
--%>
<liferay-ui:search-container-column-text name='name' value='<%= (String) ((Object[])search)[0] %>' />
<liferay-ui:search-container-column-text name='title' value='<%= (String) ((Object[])search)[1] %>' />
<liferay-ui:search-container-column-text name='status' value='<%= (String) ((Object[])search)[2] %>' />
<liferay-ui:search-container-column-text name='remarks' value='<%= (String) ((Object[])search)[3] %>' />
</liferay-ui:search-container-row>
さあ、これでうまくいくはずです。
よりクリーンな方法は、これらの値を格納するPOJOを定義して、POJOのリストを返すことです。私は2番目のアプローチを試していません。
もう1つの標準的なアプローチは、エンティティの*Implのいずれかに追加のフィールドを含めることです。 次に、そのエンティティのリストを返します。あなたの場合、Studentがいると思います。 およびAttendance エンティティなので、フィールドstatusを入力できます &remarks StudentImplで 次に、List<Student>を返します またはfnameを入力します AttendanceImplで List<Attendance>を返します ファインダー法から。 (の後に更新このコメント
)