如何将用户实体结果从操作 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")%>
不确定您是否也需要在上面的行中进行一些类型转换。
我创建了一个 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")%>
不确定您是否也需要在上面的行中进行一些类型转换。