2016-07-26 33 views
1

Ich muss ein Portlet erstellen, das alle registrierten Benutzer in liverey anzeigen würde.Alle Benutzer anzeigen liferay

Ich bitte Sie nicht, den gesamten Code hier zu schreiben, aber ich würde schätzen, wenn Sie einen Schritt-für-Schritt-Aktionsplan vorstellen könnten, weil ich wirklich nicht verstehe, wie man Informationen aus der Datenbank bekommt.

UPD: 1. Ich kann nicht lösen, was ich in Java-Datei importieren sollte. Import java.io.IOException; importieren java.util.List;

import javax.portlet.PortletException; 
import javax.portlet.PortletPreferences; 
import javax.portlet.RenderRequest; 
import javax.portlet.RenderResponse; 
import javax.transaction.SystemException; 

import com.liferay.portal.kernel.dao.orm.QueryUtil; 
import com.liferay.portal.model.User; 
import com.liferay.portal.service.UserLocalServiceUtil; 
import com.liferay.util.bridges.mvc.MVCPortlet; 
public class ShowUsers extends MVCPortlet { 

public void render(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException{ 
      Log log = LogFactoryUtil.getLog(ShowUsers.class); 
      List<User> users = null; 
      try { 
       users = UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS); 
      } catch (com.liferay.portal.kernel.exception.SystemException e) { 
       log.info("Exception happened"); 
      } 
      renderRequest.setAttribute("allUsers", users); 
      super.render(renderRequest, renderResponse); 

    } 

} 

=================== Meine jsp-Datei:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
    <%@ page import="java.util.List" %> 
    <%@ page import="com.liferay.portal.model.User" %> 
    <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
    <portlet:defineObjects /> 
    <% 
     List<User> thatusers = renderRequest.getAttribute("allUsers"); 
    %> 

    <ul> 
    <% for (User user : thatusers) { %> 
    <li><%= user %></li> 
    <% } %> 
    </ul> 

Und nach diesem Code habe ich seltsame Informationen über alle Benutzer und Ich brauche nur seinen Namen! dies:

{uuid = fb7224c0-2488-45c1-97b8-5608450435a6, userId = 20199, companyId = 20155, createDate = 2016-06-06 08: 14: 14.0, modifiedDate = 2016-06-06 08:14 : Default = false, ContactID = 20200, 14,0,

+0

Der Benutzer Klassenimport scheint in JSP fehlt. Auch das Benutzerobjekt wird Ihnen alle erforderlichen Attribute geben. Sie können google auf Iterationsliste mit jstl, die wahrscheinlich Ihren Zweck erfüllen sollte. –

+0

@ShivamAggarwal wenn ich meinen Code verwenden Ich habe schreckliche Informationen, zum Beispiel: {uuid = fb7224c0-2488-45c1-97b8-5608450435a6, userId = 20199, CompanyID = 20155, ErstellDat = 2016.06.06 08.14: 14.0, modifiedDate = 2016-06-06 08: 14: 14.0, defaultUser = false, contactId = 20200, Ich habe so viel gegooglet, aber ich weiß immer noch nicht, wie ich es lösen kann. – German

Antwort

2

um alle Benutzer zu sehen UserLocalServiceUtil.getUsers()

In Ihrem Portlet-Klasse Sie diese Liste an die jsp übergeben müssen Sie dienen:

public void doView(RenderRequest renderRequest, RenderResponse renderResponse) 
throws IOException, PortletException { 
    List<User> users = UserLocalServiceUtil.getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS); 
    renderRequest.setAttribute("allUsers", users); 
    super.doView(renderRequest, renderResponse); 
} 

Und als in Ihrem JSP iterieren die allUsers Liste mit JSTL, um ein Benutzerobjekt zu erhalten.

getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS); würde alle Benutzer abrufen, anstelle von QueryUtil.ALL_POS können Sie angeben, starten und enden, wenn Sie das Ergebnis paginieren müssen.

+0

Ich habe schon gehört über 'UserLocalServiceUtil.getUsers()', aber meine Frage ist, was zu tun, bevor es? Welche Methode sollte diese Zeile enthalten? Was sollte in Jsp sein? Soll ich Service Builder verwenden? Könnten Sie es bitte klarer aufschreiben? – German

+0

Ich habe meine Antwort bearbeitet, da Service Builder nicht benötigt wird, solange Sie keine Dienste für Ihre eigenen Tabellen erstellen oder Referenzen zu Liferay-Tabellen erstellen. – KLajdPaja

+0

Ich habe meine Frage aktualisiert, @KLajdPaja help pls – German