Ik zie dat de name
, title
, status
en remarks
velden zijn allemaal String
(volgens uw commentaar
) dus in de for
loop moet je het Object
cast casten als een String
en je hebt de vier ArrayList
. niet nodig hiervoor.
Hier is hoe de rij-tag eruit zou zien:
<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>
Alsjeblieft, dit zou moeten werken.
Ik denk dat een schonere manier zou zijn om een POJO te definiëren die deze waarden zou opslaan en dan kan de lijst van de POJO worden geretourneerd. Ik heb de tweede benadering echter niet geprobeerd.
Een andere standaardbenadering is om extra velden op te nemen in een van de *Impl
. van de entiteit en dan de lijst van die entiteit terugsturen, in jouw geval zou ik aannemen dat je Student
. hebt en Attendance
entiteiten, zodat u de velden status
&remarks
in StudentImpl
en retourneer dan een List<Student>
of plaats fname
in AttendanceImpl
en retourneer List<Attendance>
van de vindermethode. (bijgewerkt na deze reactie
)