【发布时间】:2015-12-18 07:24:02
【问题描述】:
我已经创建了 MVC portlet。在 doView 方法中,我根据当前登录用户获取自定义列表(自定义)。
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse){
List<LeadPojo> leadpojoli = new ArrayList<LeadPojo>();
LeadList lead_list = new LeadList();
leadpojoli = lead_list.getRecords(themeDisplay.getUserId()+"");
renderRequest.setAttribute("all_lead", leadpojoli);
super.doView(renderRequest, renderResponse);
}
在 view.jsp 中,我使用 delta 5 创建了“liferay-ui:search-container”。当我点击“Next”或“Previous”时strong>”它会获取接下来的 5 条记录,并且在 view.jsp 中运行良好。
现在用户从“Actions”中选择“Edit”选项。现在获取当前记录 id 并调用 editRecord 方法[在这个方法中我再获取两个基于所选记录的列表(联系人和活动)] 从 MVC 类中加载,然后使用相应的列表、对象和变量加载到另一个“edit.jsp”中。
在“edit.jsp”中也有两个 liferay-ui:search-container,当我在“edit.jsp”中单击“liferay-ui:search-container”中的“下一个”或“上一个”按钮时。 jsp" 返回上一页,即执行doview方法。
如何获取 liferay-ui:search-container 表单“edit.jsp”中的下一组记录。两个 liferay-ui:search-container 显示列表的总数,但未获取下一组记录。
private void editRecord(ActionRequest request, ActionResponse response,String backURL) throws IOException {
String recordId = ParamUtil.getString(request,'selectedId');
List<LeadActivity> leadactivityli = new ArrayList<LeadActivity>();
LeadProcess call = new LeadProcess();
leadactivityli = call.getList(recordId);
List<ContactPojo> allcon = new ArrayList<ContactPojo>();
ContactList conli = new ContactList();
allcon = conli.getContactList(recordId);
request.setAttribute("allcontacts", allcon);
request.setAttribute("edit_leadactivity", leadactivityli);
response.setRenderParameter("mvcPath","/html/Edit.jsp");
}
edit.jsp
<%
LeadPojo leadobj = (LeadPojo) request.getAttribute("editlead");
List<LeadActivity> leadactli = (List<LeadActivity>)request.getAttribute("edit_leadactivity");
List<ContactPojo> allcontacts = (List<ContactPojo>)request.getAttribute("allcontacts");
int notesize =0;
try{
notesize = leadactli.size();
}catch(Exception e){}
%>
<liferay-ui:search-container delta="10" emptyResultsMessage="No Progress Notes Were Found" rowChecker="<%= new RowChecker(renderResponse) %>" iteratorURL="<%= itURL %>">
<liferay-ui:search-container-results results="<%= ListUtil.subList(leadactli,searchContainer.getStart(),searchContainer.getEnd()) %>" total="<%= notesize %>">
</liferay-ui:search-container-results>
<liferay-ui:search-container-row className="com.axxonet.LeadActivity" modelVar="leadview" >
<liferay-ui:search-container-row-parameter name="recordid" value="<%= leadview.getId()%>"></liferay-ui:search-container-row-parameter>
<liferay-ui:search-container-row-parameter name="lead_id" value="<%= leadview.getLead_id()%>"></liferay-ui:search-container-row-parameter>
<liferay-ui:search-container-column-text name="Subject" value="<%= leadview.getSubject()%>">
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Visit Note" value="<%= leadview.getCompany_Account()%>">
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Date" value="<%=leadview.getPersonalVisit() %>">
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Created By" value="<%=leadview.getCreated_by()%>"/>
<liferay-ui:search-container-column-jsp align="right" path="/html/leadactivity.jsp" />
</liferay-ui:search-container-row>
<liferay-ui:search-iterator />
</liferay-ui:search-container>
【问题讨论】: