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("&amp;");
>>              //if (queryString != null && !queryString.equals("null")) 
>> linkText += queryString + "&";
>> -            
>> linkText.append("VIEW_SIZE=").append(viewSize).append("&amp;VIEW_INDEX=").append(viewIndex
>>  - 1).append("\"");
>> +            if (UtilValidate.isNotEmpty(queryString)) {
>> +                linkText.append(queryString).append("&amp;");
>> +            }
>> +            linkText.append("VIEW_SIZE_"+ paginatorNumber + 
>> "=").append(viewSize).append("&amp;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("&amp;");
>> -            
>> linkText.append("VIEW_SIZE=").append(viewSize).append("&amp;VIEW_INDEX=").append(viewIndex
>>  + 1).append("\"");
>> +            if (UtilValidate.isNotEmpty(queryString)) {
>> +                linkText.append(queryString).append("&amp;");
>> +            }
>> +            linkText.append("VIEW_SIZE_" + paginatorNumber + 
>> "=").append(viewSize).append("&amp;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
>
>

Reply via email to