繁体   English   中英

如何将User实体的结果从操作类传递到view.jsp

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

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

我的动作类代码

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

                            }
                }
            }

}

在我的动作班中,我根据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" />

关于如何将操作类中的过滤器列表传递给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);将Actions类中的usersList放置在请求对象中。 并且用户以相同的方式计数。 现在在jsp中,只需替换以下几行。

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

不确定在上述各行上是否还需要某种类型的转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM