📄 pagelistprep.bsh
字号:
/* * $Id: pagelistprep.bsh 5462 2005-08-05 18:35:48Z jonesde $ * * Copyright (c) 2003 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * *//** * * @author <a href="mailto:byersa@automationgroups.com">Al Byers</a> * @version $Rev: 5462 $ * @since 3.0 * This script breaks out the generic list pagination code so that it can be * used with different query scripts. * It expects, first, an EntityListIterator in the request attr, "listIt", * or a list by the name, "currentList". */import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Set;import java.util.TreeSet;import org.ofbiz.base.util.*;import org.ofbiz.entity.*;import org.ofbiz.entity.condition.*;import org.ofbiz.entity.util.*;import org.ofbiz.security.*;import org.ofbiz.service.*;import org.ofbiz.entity.model.*;import org.ofbiz.widget.html.*;import org.ofbiz.widget.form.*;import java.util.ListIterator;import javax.servlet.*;import javax.servlet.http.*;delegator = (GenericDelegator) request.getAttribute("delegator"); formDefFile = page.getProperty("formDefFile");listFormName = page.getProperty("listFormName");entityName = page.getProperty("entityName");inputFields = UtilHttp.getParameterMap(request);// Can override the listName of "entityList" in the pagedef config file.listName = "entityList";//listName = page.getProperty("listName");//if (listName == null) listName = "entityList";listIt = (EntityListIterator)request.getAttribute("listIt");// This was pretty much hacked from somewhere else in OFBizint viewIndex = -1;try { viewIndex = Integer.valueOf((String) request.getParameter("VIEW_INDEX")).intValue();} catch (Exception e) { viewIndex = 0;}int viewSize = -1;int listSize = -1;try { viewSize = Integer.valueOf((String) request.getParameter("VIEW_SIZE")).intValue();} catch (Exception e) { try { // If view size is not in page, get it from pagedef .xml file String viewSizePage = page.getProperty("viewSize"); viewSize = Integer.valueOf(viewSizePage).intValue(); } catch (Exception e2){ viewSize = 10; // Not good to have a magic number here }}int lowIndex = viewIndex * viewSize;int highIndex = (viewIndex + 1) * viewSize;List entityList = new ArrayList(); // attempt to get the full sizeDebug.logInfo("listIt:" + listIt, "");if (listIt != null && listIt != void ) { try { listIt.last(); listSize = listIt.currentIndex(); Debug.logInfo("listSize:" + listSize, ""); if (listSize < highIndex) { highIndex = listSize; } if (listSize > 0) { listIt.first(); entityList = listIt.getPartialList(lowIndex + 1, viewSize ); listIt.close(); } } catch (GenericEntityException e) { request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } if (entityList != null) { context.put(listName, entityList); // request.setAttribute(listName, entityList); }} else { entityList = (List)request.getAttribute("currentList"); context.put(listName, entityList);}request.setAttribute("listName", listName);context.put("listSize", new Integer(listSize));context.put("highIndex", new Integer(highIndex));context.put("lowIndex", new Integer(lowIndex));context.put("viewSize", new Integer(viewSize));context.put("viewIndex", new Integer(viewIndex));HtmlFormWrapper listWrapper = new HtmlFormWrapper(formDefFile, listFormName, request, response);listWrapper.putInContext(listName, entityList);listWrapper.putInContext("listSize", listSize);listWrapper.putInContext("highIndex", highIndex);listWrapper.putInContext("lowIndex", lowIndex);listWrapper.putInContext("viewSize", viewSize);listWrapper.putInContext("viewIndex", viewIndex);// Strip old VIEW_INDEX from query string if present //since we are adding them again.String queryString = context.get("queryString");if (UtilValidate.isNotEmpty(queryString)) { StringTokenizer queryTokens = new StringTokenizer(queryString, "&"); StringBuffer cleanQuery = new StringBuffer(); while (queryTokens.hasMoreTokens()) { String token = queryTokens.nextToken(); if ((token.indexOf("VIEW_INDEX") == -1) && (token.indexOf("VIEW_SIZE")==-1)) { cleanQuery.append(token); if(queryTokens.hasMoreTokens()){ cleanQuery.append("&"); } } } listWrapper.putInContext("queryString", cleanQuery.toString());}listWrapper.putInContext("entityName", context.get("entityName"));ModelForm modelForm = listWrapper.getModelForm();modelForm.setListName(listName);context.put("listWrapper", listWrapper);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -