我创建了一个portlet,我根据动作类中的某些条件获取过滤列表的用户详细信息。现在我如何将结果(用户列表)从我的动作类传递给view.jsp?
我的Action类代码,
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
的任何建议。
提前致谢。
答案 0 :(得分:1)
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(&#34; userList&#34;,tempList)将ActionList中的usersList放入Action对象中;并且用户也以相同的方式计数。现在在jsp中只需替换以下行。
results="<%=request.getAttribute("userList")%>"
total="<%=request.getAttribute("count")%>
不确定在上面的行中也可能需要某种类型的转换。