显示所有用户liferay
我需要制作一个portlet,它将显示liferay中所有注册的用户 我不是要你们在这里写所有的代码,但我希望你们能提出一个一步一步的行动计划,因为我真的不知道如何从数据库中获取信息 UPD: 1.我无法解决我应该在java文件中导入什么。 导入java.io.IOException; 导入java.util.List显示所有用户liferay,liferay,liferay-6,liferay-aui,liferay-ide,Liferay,Liferay 6,Liferay Aui,Liferay Ide,我需要制作一个portlet,它将显示liferay中所有注册的用户 我不是要你们在这里写所有的代码,但我希望你们能提出一个一步一步的行动计划,因为我真的不知道如何从数据库中获取信息 UPD: 1.我无法解决我应该在java文件中导入什么。 导入java.io.IOException; 导入java.util.List import javax.portlet.PortletException; import javax.portlet.PortletPreferences; import ja
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);
}
}
import javax.portlet.PortletException;
导入javax.portlet.PortletPreferences;
导入javax.portlet.RenderRequest;
导入javax.portlet.RenderResponse;
导入javax.transaction.SystemException;
导入com.liferay.portal.kernel.dao.orm.QueryUtil;
导入com.liferay.portal.model.User;
导入com.liferay.portal.service.UserLocalServiceUtil;
导入com.liferay.util.bridges.mvc.MVCPortlet;
公共类ShowUsers扩展了MVCPortlet{
公共无效呈现(RenderRequest RenderRequest、RenderResponse RenderResponse)引发IOException、PortletException{
Log Log=LogFactoryUtil.getLog(ShowUsers.class);
列表用户=null;
试一试{
users=UserLocalServiceUtil.getUsers(QueryUtil.ALL\u POS,QueryUtil.ALL\u POS);
}catch(com.liferay.portal.kernel.exception.SystemException e){
log.info(“发生异常”);
}
setAttribute(“诱惑者”,用户);
super.render(renderRequest,renderResponse);
}
}
===================
我的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>
在这段代码之后,我有关于所有用户的奇怪信息,我只需要它的名字!这:
{uuid=fb7224c0-2488-45c1-97b8-5608450435a6,userId=20199,companyId=20155,createDate=2016-06-06 08:14:14.0,modifiedDate=2016-06-06 08:14:14.0,defaultUser=false,contactId=20200,让所有用户查看
UserLocalServiceUtil.getUsers()
在portlet类中,您需要将此列表传递给您正在服务的jsp:
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);
}
public void doView(RenderRequest RenderRequest,RenderResponse RenderResponse)
抛出IOException、PortletException{
List users=UserLocalServiceUtil.getUsers(QueryUtil.ALL\u POS,QueryUtil.ALL\u POS);
setAttribute(“诱惑者”,用户);
super.doView(renderRequest,renderResponse);
}
然后在jsp中使用JSTL迭代allUsers列表以获取用户对象
getUsers(QueryUtil.ALL_POS,QueryUtil.ALL_POS);
将检索所有用户,而不是QueryUtil.ALL_POS
如果需要对结果分页,可以指定开始和结束。我已经听说过UserLocalServiceUtil.getUsers()
,但我的问题是在它之前要做什么?这一行应该使用什么方法?jsp中应该是什么?我应该使用Service Builder吗?请您写得更清楚一些?我编辑了我的答案,至于Service Builder,只要您没有为自己的表创建服务或引用Liferay的选项卡,您就不需要它les.您正在打印用户对象本身,而不仅仅是您需要的值,如果您需要获取用户名,您可以执行以下操作:
。请参阅:jsp中似乎缺少用户类导入。此外,用户对象将为您提供所有必需的属性。您可以使用jstl在迭代列表上搜索,这很可能符合您的目的。@ShivamAggarwal当我使用我的代码时,我有一些糟糕的信息,例如:{uuid=fb7224c0-2488-45c1-97b8-5608450435a6,userId=20199,companyId=20155,createDate=2016-06-06 08:14:14.0,modifiedDate=2016-06-06 08:14:14.0,defaultUser=false,contactId=20200,我在谷歌上搜索了很多,但我仍然不知道如何解决它。。