Fórumok

SearchContainer mi fa impazzire

giacomo savino, módosítva 11 év-val korábban

SearchContainer mi fa impazzire

Junior Member Bejegyzések: 37 Csatlakozás dátuma: 2011.06.17. Legújabb bejegyzések
Ciao ragazzi... ho problemi nell implementazione del searchcontainer in una jsp.
Ho una portlet scritta in struts 1.1. Nella mia action chiedo una lista di articoli in base a dei filtri per data e per tag (utilizzo delle dynamicQuery):
List<Object> newsletterList = JournalArticleLocalServiceUtil.dynamicQuery(dqi);
e finisco con un
request.setAttribute("newsletterList", newsletters);
return mapping.findForward("/newsletter_frontend_portlet/view");
nella jsp ho provato a mettere la lista dei risultati della ricerca in un searchcontainer:
<%
PortletURL iteratorURL = renderResponse.createRenderURL();
iteratorURL.setParameter("action", "/newsletter_plugin_portlet/search_nesletter/action");

%>

<liferay-ui:search-container delta="3" iteratorURL="<%= iteratorURL %>"
emptyResultsMessage="Sorry. There are no items to display.">

<liferay-ui:search-container-results
total="<%= newsletterList.size() %>"
results="<%= ListUtil.subList(newsletterList, searchContainer.getStart(), searchContainer.getEnd()) %>"
/>

<liferay-ui:search-container-row modelVar="news"
className="it.giacomo.model.NewsletterItem">

<%

long groupId = themeDisplay.getLayout().getGroupId();

String name = NewsletterItem.class.getName();
String primKey = String.valueOf(news.getArticleId());

long companyId=themeDisplay.getLayout().getCompanyId();

%>
<liferay-ui:search-container-column-text name="Id" property="articleId"/>

<liferay-ui:search-container-column-text name="Titolo">
<%= news.getTitle() %>
</liferay-ui:search-container-column-text>

<liferay-ui:search-container-column-text name="Data">
<%= news.getCreationDate() %>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator searchContainer="<%= searchContainer %>" />
</liferay-ui:search-container>

Ora: se invio la mia ricerca mi da la lista delle news con 3 risultati, ma se vado alla pagina successiva non trova più niente....
Insomma non riesco a tenermi la lista generata dal filtro di ricerca.
thumbnail
Andrea Di Giorgi, módosítva 11 év-val korábban

RE: SearchContainer mi fa impazzire

New Member Bejegyzések: 19 Csatlakozás dátuma: 2010.06.01. Legújabb bejegyzések
Ciao!
Non ho mai sviluppato portlet in Struts, ma, da quello che riesco a capire dal tuo codice, pare che iteratorURL (cioè l'URL che usa il Search Container per generare gli href nei pulsanti "avanti" e "indietro", per intenderci) non includa i tuoi parametri di ricerca.
L'idea è di rieseguire la DynamicQuery ad ogni richiesta, impostando come limiti "start" e "end" quelli passati dal SearchContainer come parametri della request. Se vedi, JournalArticleLocalServiceUtil.dynamicQuery ha un overload che richiede start e end...
In questo modo, non ti serve neanche fare ListUtil.subList, perché nell'attributo della request ti arriverebbe già la lista specifica per la pagina corrente.

Sono riuscito a chiarirti un po' le idee? emoticon
giacomo savino, módosítva 11 év-val korábban

RE: SearchContainer mi fa impazzire

Junior Member Bejegyzések: 37 Csatlakozás dátuma: 2011.06.17. Legújabb bejegyzések
Grazie andrea.... ora ho decisamente le idee più chiare
vediamo un pò....
giacomo savino, módosítva 11 év-val korábban

RE: SearchContainer mi fa impazzire

Junior Member Bejegyzések: 37 Csatlakozás dátuma: 2011.06.17. Legújabb bejegyzések
Ciao a tutti non riesco proprio a far funzionare l'impaginazione della searchcontainer su una lista inizializzata in una action di ricerca...