2016-07-26 2 views
1

Je dois créer un portlet qui afficherait tous les utilisateurs enregistrés dans liferay. Je ne vous demande pas d'écrire tout le code ici, mais je voudrais savoir si vous pourriez présenter un plan d'actions étape par étape, parce que je ne comprends vraiment pas comment obtenir des informations à partir de la base de données.Afficher tous les utilisateurs liferay

UPD: 1. Je ne peux pas résoudre ce que je devrais importer dans le fichier java. import java.io.IOException; import 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); 

    } 

} 

=================== Mon fichier jsp:

<%@ 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> 

Et après ce code je étrange informations sur tous les utilisateurs et J'ai juste besoin de son nom! ce:

{uuid = fb7224c0-2488-45c1-97b8-5608450435a6, ID utilisateur = 20199, companyId = 20155, createDate = 2016-06-06 08: 14: 14.0, modifiedDate = 2016-06-06 08:14 : 14.0, defaultuser = false, contactID = 20200,

+0

L'importation de la classe User semble manquante dans jsp. En outre, l'objet utilisateur vous donnera tous les attributs requis. Vous pouvez google up sur la liste iterating en utilisant jstl, qui devrait probablement servir votre but. –

+0

@ShivamAggarwal quand j'utilise mon code j'ai des informations terribles, par exemple: {uuid = fb7224c0-2488-45c1-97b8-5608450435a6, ID utilisateur = 20199, companyId = 20155, createDate = 2016-06-06 08:14: 14.0, modifiedDate = 2016-06-06 08: 14: 14.0, defaultUser = false, contactId = 20200, J'ai tellement googlé mais je ne sais toujours pas comment le résoudre .. – German

Répondre

2

pour tous les utilisateurs jeter un oeil à UserLocalServiceUtil.getUsers()

Dans votre classe de portlet vous devez transmettre cette liste à jsp que vous servez:

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); 
} 

Et que dans votre jsp itérer la liste allUsers en utilisant JSTL pour obtenir un objet utilisateur.

getUsers(QueryUtil.ALL_POS, QueryUtil.ALL_POS); récupérer tous les utilisateurs, au lieu de QueryUtil.ALL_POS vous pouvez spécifier début et fin si vous avez besoin de paginer le résultat.

+0

J'ai déjà entendu à propos de 'UserLocalServiceUtil.getUsers()', mais ma question est sur ce qu'il faut faire avant? Quelle méthode devrait consister cette ligne? Ce qui devrait être en jsp? Dois-je utiliser Service Builder? Pourriez-vous s'il vous plaît l'écrire plus clair? – German

+0

J'ai édité ma réponse, car pour Service Builder vous n'en avez pas besoin tant que vous ne créez pas de services pour votre propre table ou que vous faites des références aux tables de Liferay. – KLajdPaja

+0

J'ai mis à jour ma question, @KLajdPaja help pls – German