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>
を返します ファインダー法から。 (の後に更新このコメント
)