この wikiに従って、カスタム クエリを作成しました。
それは正常に動作します。テーブル間の結合を使用しました。
私の質問は、検索コンテナのclassNameが1つのモデルクラスを必要とするため、liferay検索コンテナを使用してjspに表示する方法です。
編集:
私が今まで試したことはこれです:
<%
getAttendanceData attName = new getAttendanceData();
List<Object[]> displayAttListName = AttendanceLocalServiceUtil.findAttendance();
ArrayList name = new ArrayList();
ArrayList title = new ArrayList();
ArrayList status = new ArrayList();
ArrayList remarks = new ArrayList();
for(Object[] att:displayAttListName) {
name.add(att[0]);
title.add(att[1]);
status.add(att[2]);
remarks.add(att[3]);
}
%>
<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
<liferay-ui:search-container-results
total="<%= displayAttListName.size() %>"
results="<%= ListUtil.subList(displayAttListName , searchContainer.getStart(), searchContainer.getEnd()) %>"
/>
<liferay-ui:search-container-row modelVar="search"
className="java.lang.Object">
<%
for(Object displayName:name) {
%>
<liferay-ui:search-container-column-text name='studName' value = '<%=String.valueOf(displayName)%>' href="">
</liferay-ui:search-container-column-text>
<%
}
%>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator/>
</liferay-ui:search-container>
上記で行ったことは、10 個の名前のそれぞれを列に 10 回表示します。
新しい行ごとに名前を表示したい。上記のコードをどのように変更すればよいですか?
EDIT 2
配列が以前に定義されていることを
考慮name
して、次のことを行いました。
<liferay-ui:search-container-column-text name="employee name" href = "">
<%=name.getClass().getDeclaredFields().toString() %>
</liferay-ui:search-container-column-text>
上記で、次のような結果が得[Ljava.lang.reflect.Field;@195f1af
られます。各行で。