如何将用户实体结果从操作 class 传递到 view.jsp

How to pass the User entity results from action class to view.jsp

我创建了一个 portlet,我在其中获取用户详细信息,根据我操作中的某些条件过滤列表 class。现在如何将结果(用户列表)从我的操作 class 传递到 view.jsp?

我的操作class代码,

public void addEntry(ActionRequest request, ActionResponse response) throws PortalException, SystemException
{
int usersCount = UserLocalServiceUtil.getUsersCount();
            List<User> usersList = UserLocalServiceUtil.getUsers(0 , usersCount);
            System.out.println("List Size is ===>"+ usersList);
            if (usersList != null) {
            for (User user : usersList) {  
                            if(user.getFacebookId() == 12345 && user.getStatus() == 0)
                            {
                                    System.out.println(((Long) user.getUserId()).toString()+ "," + user.getFullName()+ "," + user.getFirstName()+ "," + user.getLastName()+ "," + user.getScreenName());

                            }
                }
            }

}

在我的操作中 class 我根据 FacebookID 和用户状态过滤列表。它正在打印所需的用户列表。现在如何将过滤后的用户列表发送到我的查看页面。

查看页面代码,

<liferay-ui:search-container delta="10" emptyResultsMessage="no-users-were-found">
        <liferay-ui:search-container-results
                results="<%=UserLocalServiceUtil.getUsers(searchContainer.getStart(), searchContainer.getEnd())%>"
       total="<%=UserLocalServiceUtil.getUsersCount()%>" />


        <liferay-ui:search-container-row
                className="com.liferay.portal.model.User"
                keyProperty="userId"
                modelVar="user"
        >
                <liferay-ui:search-container-column-text
                        name="name"
                        value="<%= user.getFullName() %>"
                />

                <liferay-ui:search-container-column-text
                        name="first-name"
                        property="firstName"
                />
                <liferay-ui:search-container-column-text
                        name="last-name"
                        property="lastName"
                />
                <liferay-ui:search-container-column-text
                        name="screen-name"
                        property="screenName"
                />
        </liferay-ui:search-container-row>

        <liferay-ui:search-iterator />

</liferay-ui:search-container>

<liferay-ui:search-container delta="10" emptyResultsMessage="no-users-were-found" />

有关如何将过滤器列表 class 传递给 liferay-ui:search-container-results 的任何建议。

提前致谢。

    List<User> tempList = new ArrayList<User>();
    for (User user : usersList) {  
                                if(user.getFacebookId() == 12345 && user.getStatus() == 0)
                                {
                                  tempList.add(user);                                        
                                  System.out.println(((Long) user.getUserId()).toString()+ "," + user.getFullName()+ "," + user.getFirstName()+ "," + user.getLastName()+ "," + user.getScreenName());

                                }
     }
      actionRequest.setAttribute("userList",tempList);          

使用 actionRequest.setAttribute("userList",tempList) 在 Action Class 的请求对象中放置 usersList;用户数也以同样的方式计算。现在在 jsp 中只需替换以下行。

results="<%=request.getAttribute("userList")%>"
   total="<%=request.getAttribute("count")%>

不确定您是否也需要在上面的行中进行一些类型转换。