Hans, I have found the following that might help: If I change the FindInvoice screen like this:
<screen name="FindInvoices"> <section> <actions> <set field="headerItem" value="invoices"/> <set field="titleProperty" value="PageTitleFindInvoice"/> <set field="tabButtonItem" value="invoices"/> <set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer"/> <set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="30"/> </actions> <widgets> <decorator-screen name="CommonInvoiceDecorator" location="${parameters.invoiceDecoratorLocation}"> <decorator-section name="body"> <include-menu name="InvoiceSubTabBar" location="component://accounting/widget/Menus.xml"/> <screenlet title="${uiLabelMap.PageTitleFindInvoice}"> <include-form name="FindInvoices" location="component://accounting/webapp/accounting/invoice/InvoiceForms.xml"/> </screenlet> <!-- <screenlet title="${uiLabelMap.PageTitleListInvoices}" navigation-form-name="ListInvoices"> --> <screenlet title="${uiLabelMap.PageTitleListInvoices}"> <include-form name="ListInvoices" location="component://accounting/webapp/accounting/invoice/InvoiceForms.xml"/> </screenlet> </decorator-section> </decorator-screen> </widgets> </section> </screen> Pagination works well. If I look in the debug.log file I find the following running the original code: 2008-12-24 10:49:18,859 (http-0.0.0.0-8443-1) [ ModelForm.java:1341:INFO ] preparePager: low - high = 1 - 2 2008-12-24 10:49:18,859 (http-0.0.0.0-8443-1) [ ModelForm.java:1359:INFO ] preparePager: Found rows = 2 2008-12-24 10:49:18,859 (http-0.0.0.0-8443-1) [ ModelForm.java:1341:INFO ] preparePager: low - high = 0 - 1 2008-12-24 10:49:18,875 (http-0.0.0.0-8443-1) [ ModelForm.java:1359:INFO ] preparePager: Found rows = 1 and this with the code with my change: 2008-12-24 10:54:27,406 (http-0.0.0.0-8443-1) [ ModelForm.java:1341:INFO ] preparePager: low - high = 1 - 2 2008-12-24 10:54:27,406 (http-0.0.0.0-8443-1) [ ModelForm.java:1359:INFO ] preparePager: Found rows = 2 So it seems to me that the multi-pagination does not work when we use the "navigation-form-name" attribute in a screenlet widget. In this case it seems that the pagination calculation runs twice and it fails to get the correct pagination index. So a quick fix is simply to not use the "navigation-form-name" attribute in the screenlet. May be this will help who better knows how the multi-pagination system works to fix it. -Bruno 2008/12/24 Hans Bakker <mailingl...@antwebsystems.com>: > This commit (or later) causes pagination to stop working... > The page numbers change but the listing does not..... > > How to test? set the pagination in > framework/widget/config/widget.properties to "1" > > In the latest svn go to invoice click 'find' and try to paginate....the > invoiceId shown will not change. (although there are 3) > > then go back to r725022, remove the 2 statements containing > viewindex/viewsize from the findInvoiceScreen in invoicescreens.xml > > and see the problem have been solved..... > > Bruno or Jaques or somebody else...please have a look, i could not find > it that quickly.... > > Regards, > Hans > > > On Wed, 2008-12-10 at 10:39 +0000, jler...@apache.org wrote: >> Author: jleroux >> Date: Wed Dec 10 02:39:16 2008 >> New Revision: 725053 >> >> URL: http://svn.apache.org/viewvc?rev=725053&view=rev >> Log: >> A slightly modified patch from Bilgin Ibryam "Allow multi-pagination in a >> page" (https://issues.apache.org/jira/browse/OFBIZ-1935) - OFBIZ-1935 >> >> Modified: >> ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml >> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml >> ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml >> ofbiz/trunk/applications/party/widget/partymgr/ProfileScreens.xml >> ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java >> >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java >> >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java >> >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java >> >> Modified: ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml (original) >> +++ ofbiz/trunk/applications/order/entitydef/entitymodel_view.xml Wed Dec 10 >> 02:39:16 2008 >> @@ -1348,6 +1348,7 @@ >> <member-entity entity-alias="SI" entity-name="StatusItem"/> >> <alias-all entity-alias="QWE"/> >> <alias-all entity-alias="WE"/> >> + <!--alias name="statusId" field="statusId" entity-alias="SI"/--> >> <alias name="statusItemDescription" field="description" >> entity-alias="SI"/> >> <view-link entity-alias="QWE" rel-entity-alias="WE"> >> <key-map field-name="workEffortId"/> >> @@ -1361,6 +1362,9 @@ >> <relation type="one-nofk" rel-entity-name="Quote"> >> <key-map field-name="quoteId"/> >> </relation> >> + <relation type="one-nofk" rel-entity-name="StatusItem"> >> + <key-map field-name="statusId"/> >> + </relation> >> </view-entity> >> <view-entity entity-name="RequirementAndRole" >> package-name="org.ofbiz.order.request" >> >> Modified: >> ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml >> (original) >> +++ ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/controller.xml >> Wed Dec 10 02:39:16 2008 >> @@ -396,13 +396,13 @@ >> <request-map uri="createPartyAttribute"> >> <security https="true" auth="true"/> >> <event type="service" path="" invoke="createPartyAttribute"/> >> - <response name="success" type="view" value="EditPartyAttribute"/> >> + <response name="success" type="view" value="viewprofile"/> >> <response name="error" type="view" value="EditPartyAttribute"/> >> </request-map> >> <request-map uri="updatePartyAttribute"> >> <security https="true" auth="true"/> >> <event type="service" path="" invoke="updatePartyAttribute"/> >> - <response name="success" type="view" value="EditPartyAttribute"/> >> + <response name="success" type="view" value="viewprofile"/> >> <response name="error" type="view" value="EditPartyAttribute"/> >> </request-map> >> <request-map uri="removePartyAttribute"> >> >> Modified: ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml >> (original) >> +++ ofbiz/trunk/applications/party/webapp/partymgr/party/PartyForms.xml Wed >> Dec 10 02:39:16 2008 >> @@ -612,7 +612,8 @@ >> </form> >> >> <form name="ListCarrierAccounts" type="list" >> target="updatePartyCarrierAccount" >> - odd-row-style="alternate-row" default-table-style="basic-table >> hover-bar"> >> + odd-row-style="alternate-row" default-table-style="basic-table >> hover-bar" >> + paginate="true" view-size="3" paginate-target="viewprofile" >> paginate-target-anchor="ListCarrierAccounts"> >> <actions> >> <entity-condition entity-name="PartyCarrierAccount" >> list-name="carrierAccounts" filter-by-date="true"> >> <condition-expr field-name="partyId" >> env-name="parameters.partyId"></condition-expr> >> >> Modified: ofbiz/trunk/applications/party/widget/partymgr/ProfileScreens.xml >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/widget/partymgr/ProfileScreens.xml?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/applications/party/widget/partymgr/ProfileScreens.xml >> (original) >> +++ ofbiz/trunk/applications/party/widget/partymgr/ProfileScreens.xml Wed >> Dec 10 02:39:16 2008 >> @@ -270,7 +270,7 @@ >> <label style="h3" >> text="${uiLabelMap.PageTitleFinancialAccountSummary}"/> >> </container> >> <container style="screenlet-body"> >> - <iterate-section >> entry-name="ownedFinAccount" paginate="true" >> paginate-target="viewprofile?partyId=${parameters.partyId}" view-size="3" >> list-name="ownedFinAccountList"> >> + <iterate-section >> entry-name="ownedFinAccount" paginate="true" paginate-target="viewprofile" >> view-size="3" list-name="ownedFinAccountList"> >> <section> >> <actions> >> <entity-condition >> entity-name="FinAccountTrans" list-name="ownedFinAccountTransList"> >> >> Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java >> (original) >> +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilHttp.java Wed Dec >> 10 02:39:16 2008 >> @@ -919,11 +919,18 @@ >> } >> >> public static String stripViewParamsFromQueryString(String queryString) >> { >> + return stripViewParamsFromQueryString(queryString, null); >> + } >> + >> + public static String stripViewParamsFromQueryString(String queryString, >> String paginatorNumber) { >> Set<String> paramNames = new HashSet<String>(); >> - paramNames.add("VIEW_INDEX"); >> - paramNames.add("VIEW_SIZE"); >> - paramNames.add("viewIndex"); >> - paramNames.add("viewSize"); >> + if (UtilValidate.isNotEmpty(paginatorNumber)) { >> + paginatorNumber = "_" + paginatorNumber; >> + } >> + paramNames.add("VIEW_INDEX" + paginatorNumber); >> + paramNames.add("VIEW_SIZE" + paginatorNumber); >> + paramNames.add("viewIndex" + paginatorNumber); >> + paramNames.add("viewSize" + paginatorNumber); >> return stripNamedParamsFromQueryString(queryString, paramNames); >> } >> >> >> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java >> (original) >> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java Wed >> Dec 10 02:39:16 2008 >> @@ -112,4 +112,27 @@ >> } >> return result; >> } >> + >> + public int getPaginatorNumber(Map<String, Object> context) { >> + int paginator_number = 0; >> + Map<String, Object> globalCtx = >> UtilGenerics.checkMap(context.get("globalContext")); >> + if (globalCtx != null) { >> + Integer paginateNumberInt= >> (Integer)globalCtx.get("PAGINATOR_NUMBER"); >> + if (paginateNumberInt == null) { >> + paginateNumberInt = Integer.valueOf(0); >> + globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt); >> + } >> + paginator_number = paginateNumberInt.intValue(); >> + } >> + return paginator_number; >> + } >> + >> + public void incrementPaginatorNumber(Map<String, Object> context) { >> + Map<String, Object> globalCtx = >> UtilGenerics.checkMap(context.get("globalContext")); >> + if (globalCtx != null) { >> + Integer paginateNumberInt = >> Integer.valueOf(getPaginatorNumber(context) + 1); >> + globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt); >> + } >> + } >> + >> } >> >> Modified: >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java >> (original) >> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java >> Wed Dec 10 02:39:16 2008 >> @@ -1306,6 +1306,9 @@ >> } >> >> public void preparePager(Map<String, Object> context) { >> + >> + // increment the paginator >> + this.incrementPaginatorNumber(context); >> this.rowCount = 0; >> String lookupName = this.getListName(); >> if (UtilValidate.isEmpty(lookupName)) { >> @@ -2185,6 +2188,8 @@ >> if (UtilValidate.isEmpty(field)) { >> field = DEFAULT_PAG_INDEX_FIELD; >> } >> + // append the paginator number >> + field = field + "_" + getPaginatorNumber(context); >> return field; >> } >> >> @@ -2199,7 +2204,7 @@ >> // try parameters.VIEW_INDEX as that is an old OFBiz convention >> Map parameters = (Map) context.get("parameters"); >> if (parameters != null) { >> - value = parameters.get("VIEW_INDEX"); >> + value = parameters.get("VIEW_INDEX" + "_" + >> getPaginatorNumber(context)); >> >> if (value == null) { >> value = parameters.get(field); >> @@ -2224,6 +2229,8 @@ >> if (UtilValidate.isEmpty(field)) { >> field = DEFAULT_PAG_SIZE_FIELD; >> } >> + // append the paginator number >> + field = field + "_" + getPaginatorNumber(context); >> return field; >> } >> >> @@ -2238,7 +2245,7 @@ >> // try parameters.VIEW_SIZE as that is an old OFBiz >> convention >> Map parameters = (Map) context.get("parameters"); >> if (parameters != null) { >> - value = parameters.get("VIEW_SIZE"); >> + value = parameters.get("VIEW_SIZE" + "_" + >> getPaginatorNumber(context)); >> >> if (value == null) { >> value = parameters.get(field); >> >> Modified: >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java >> (original) >> +++ >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlFormRenderer.java >> Wed Dec 10 02:39:16 2008 >> @@ -2245,6 +2245,7 @@ >> } >> >> // get the parametrized pagination index and size fields >> + int paginatorNumber = modelForm.getPaginatorNumber(context); >> String viewIndexParam = modelForm.getPaginateIndexField(context); >> String viewSizeParam = modelForm.getPaginateSizeField(context); >> >> @@ -2272,13 +2273,13 @@ >> } >> >> // for legacy support, the viewSizeParam is VIEW_SIZE and >> viewIndexParam is VIEW_INDEX when the fields are "viewSize" and "viewIndex" >> - if (viewIndexParam.equals("viewIndex")) viewIndexParam = >> "VIEW_INDEX"; >> - if (viewSizeParam.equals("viewSize")) viewSizeParam = "VIEW_SIZE"; >> + if (viewIndexParam.equals("viewIndex" + "_" + paginatorNumber)) >> viewIndexParam = "VIEW_INDEX" + "_" + paginatorNumber; >> + if (viewSizeParam.equals("viewSize" + "_" + paginatorNumber)) >> viewSizeParam = "VIEW_SIZE" + "_" + paginatorNumber; >> >> String str = (String) context.get("_QBESTRING_"); >> >> // strip legacy viewIndex/viewSize params from the query string >> - String queryString = UtilHttp.stripViewParamsFromQueryString(str); >> + String queryString = UtilHttp.stripViewParamsFromQueryString(str, >> "" + paginatorNumber); >> >> // strip parametrized index/size params from the query string >> HashSet<String> paramNames = new HashSet<String>(); >> >> Modified: >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java >> (original) >> +++ >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java >> Wed Dec 10 02:39:16 2008 >> @@ -246,6 +246,7 @@ >> } >> >> // get the parametrized pagination index and size fields >> + int paginatoNumber = modelForm.getPaginatorNumber(context); >> String viewIndexParam = modelForm.getPaginateIndexField(context); >> String viewSizeParam = modelForm.getPaginateSizeField(context); >> >> @@ -271,8 +272,8 @@ >> } >> >> // for legacy support, the viewSizeParam is VIEW_SIZE and >> viewIndexParam is VIEW_INDEX when the fields are "viewSize" and "viewIndex" >> - if (viewIndexParam.equals("viewIndex")) viewIndexParam = >> "VIEW_INDEX"; >> - if (viewSizeParam.equals("viewSize")) viewSizeParam = "VIEW_SIZE"; >> + if (viewIndexParam.equals("viewIndex" + "_" + paginatoNumber)) >> viewIndexParam = "VIEW_INDEX" + "_" + paginatoNumber; >> + if (viewSizeParam.equals("viewSize" + "_" + paginatoNumber)) >> viewSizeParam = "VIEW_SIZE" + "_" + paginatoNumber; >> >> ServletContext ctx = (ServletContext) >> request.getAttribute("servletContext"); >> RequestHandler rh = (RequestHandler) >> ctx.getAttribute("_REQUEST_HANDLER_"); >> @@ -284,7 +285,7 @@ >> } >> String queryString = UtilHttp.urlEncodeArgs(inputFields); >> // strip legacy viewIndex/viewSize params from the query string >> - queryString = UtilHttp.stripViewParamsFromQueryString(queryString); >> + queryString = UtilHttp.stripViewParamsFromQueryString(queryString, >> "" + paginatoNumber); >> // strip parametrized index/size params from the query string >> HashSet<String> paramNames = new HashSet<String>(); >> paramNames.add(viewIndexParam); >> >> Modified: >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java >> URL: >> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java?rev=725053&r1=725052&r2=725053&view=diff >> ============================================================================== >> --- >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java >> (original) >> +++ >> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/IterateSectionWidget.java >> Wed Dec 10 02:39:16 2008 >> @@ -21,6 +21,7 @@ >> import java.io.IOException; >> import java.util.ArrayList; >> import java.util.Arrays; >> +import java.util.HashSet; >> import java.util.Iterator; >> import java.util.List; >> import java.util.Locale; >> @@ -33,6 +34,8 @@ >> >> import org.ofbiz.base.util.Debug; >> import org.ofbiz.base.util.GeneralException; >> +import org.ofbiz.base.util.UtilGenerics; >> +import org.ofbiz.base.util.UtilHttp; >> import org.ofbiz.base.util.UtilMisc; >> import org.ofbiz.base.util.UtilProperties; >> import org.ofbiz.base.util.UtilValidate; >> @@ -114,6 +117,8 @@ >> Debug.logError("Object not list or map type", module); >> return; >> } >> + this.incrementPaginatorNumber(context); >> + int startPageNumber = this.getPaginatorNumber(context); >> getListLimits(context, theList); >> int rowCount = 0; >> Iterator iter = theList.iterator(); >> @@ -140,19 +145,31 @@ >> section.renderWidgetString(writer, contextMs, >> screenStringRenderer); >> } >> } >> + >> if ((itemIndex + 1) < highIndex) { >> setHighIndex(itemIndex + 1); >> } >> setActualPageSize(highIndex - lowIndex); >> if (paginate) { >> try { >> + Integer lastPageNumber = null; >> + Map<String, Object> globalCtx = >> UtilGenerics.checkMap(context.get("globalContext")); >> + if (globalCtx != null) { >> + lastPageNumber = >> (Integer)globalCtx.get("PAGINATOR_NUMBER"); >> + globalCtx.put("PAGINATOR_NUMBER", >> Integer.valueOf(startPageNumber)); >> + } >> + >> renderNextPrev(writer, context); >> + >> + if (globalCtx != null) { >> + globalCtx.put("PAGINATOR_NUMBER", lastPageNumber); >> + } >> } catch(IOException e) { >> Debug.logError(e, module); >> throw new RuntimeException(e.getMessage()); >> } >> } >> - >> + >> } >> /* >> * @return >> @@ -230,8 +247,10 @@ >> if (paginate) { >> try { >> Map params = (Map)context.get("parameters"); >> - String viewIndexString = (String) params.get("VIEW_INDEX"); >> + String viewIndexString = (String) params.get("VIEW_INDEX" + >> "_" + getPaginatorNumber(context)); >> + String viewSizeString = (String) params.get("VIEW_SIZE" + >> "_" + getPaginatorNumber(context)); >> viewIndex = Integer.parseInt(viewIndexString); >> + viewSize = Integer.parseInt(viewSizeString); >> } catch (Exception e) { >> try { >> viewIndex = ((Integer) >> context.get("viewIndex")).intValue(); >> @@ -240,16 +259,9 @@ >> } >> } >> context.put("viewIndex", Integer.valueOf(this.viewIndex)); >> - >> - try { >> - viewSize = ((Integer) context.get("viewSize")).intValue(); >> - } catch (Exception e) { >> - //viewSize = DEFAULT_PAGE_SIZE; >> - } >> + >> lowIndex = viewIndex * viewSize; >> highIndex = (viewIndex + 1) * viewSize; >> - >> - >> } else { >> viewIndex = 0; >> viewSize = DEFAULT_PAGE_SIZE; >> @@ -265,6 +277,19 @@ >> targetService = "${targetService}"; >> } >> >> + Map<String, Object> inputFields = >> UtilGenerics.checkMap(context.get("requestParameters")); >> + Map<String, Object> queryStringMap = >> UtilGenerics.toMap(context.get("queryStringMap")); >> + if (UtilValidate.isNotEmpty(queryStringMap)) { >> + inputFields.putAll(queryStringMap); >> + } >> + >> + String queryString = UtilHttp.urlEncodeArgs(inputFields); >> + int paginatorNumber = this.getPaginatorNumber(context); >> + queryString = UtilHttp.stripViewParamsFromQueryString(queryString, >> "" + paginatorNumber); >> + >> + >> + >> + >> if (UtilValidate.isEmpty(targetService)) { >> Debug.logWarning("TargetService is empty.", module); >> return; >> @@ -331,7 +356,10 @@ >> if (linkText.indexOf("?") < 0) linkText.append("?"); >> else linkText.append("&"); >> //if (queryString != null && !queryString.equals("null")) >> linkText += queryString + "&"; >> - >> linkText.append("VIEW_SIZE=").append(viewSize).append("&VIEW_INDEX=").append(viewIndex >> - 1).append("\""); >> + if (UtilValidate.isNotEmpty(queryString)) { >> + linkText.append(queryString).append("&"); >> + } >> + linkText.append("VIEW_SIZE_"+ paginatorNumber + >> "=").append(viewSize).append("&VIEW_INDEX_" + paginatorNumber + >> "=").append(viewIndex - 1).append("\""); >> >> // make the link >> writer.append(rh.makeLink(request, response, >> linkText.toString(), false, false, false)); >> @@ -349,7 +377,10 @@ >> StringBuilder linkText = new StringBuilder(targetService); >> if (linkText.indexOf("?") < 0) linkText.append("?"); >> else linkText.append("&"); >> - >> linkText.append("VIEW_SIZE=").append(viewSize).append("&VIEW_INDEX=").append(viewIndex >> + 1).append("\""); >> + if (UtilValidate.isNotEmpty(queryString)) { >> + linkText.append(queryString).append("&"); >> + } >> + linkText.append("VIEW_SIZE_" + paginatorNumber + >> "=").append(viewSize).append("&VIEW_INDEX_" + paginatorNumber + >> "=").append(viewIndex + 1).append("\""); >> >> // make the link >> writer.append(rh.makeLink(request, response, >> linkText.toString(), false, false, false)); >> >> > -- > Antwebsystems.com: Quality OFBiz services for competitive prices > >