`
jiasudu1649
  • 浏览: 726907 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

bsh实现ofbiz分页

 
阅读更多

java 代码
 
  1. delegator = request.getAttribute("delegator");  
  2.   //获取request参数
  3. lookupFlag = request.getParameter("lookupFlag");  
  4. shipmentTypeId = request.getParameter("shipmentTypeId");  
  5. originFacilityId = request.getParameter("originFacilityId");  
  6. destinationFacilityId = request.getParameter("destinationFacilityId");  
  7. statusId = request.getParameter("statusId");  
  8.   
  9. // 设置分页参数
  10. viewIndex = 1;  
  11. try {  
  12.     viewIndex = Integer.valueOf((String) request.getParameter("VIEW_INDEX")).intValue();  
  13. catch (Exception e) {  
  14.     viewIndex = 1;  
  15. }  
  16. context.put("viewIndex", viewIndex);  
  17.   
  18. viewSize = 20;  
  19. try {  
  20.     viewSize = Integer.valueOf((String) request.getParameter("VIEW_SIZE")).intValue();  
  21. catch (Exception e) {  
  22.     viewSize = 20;  
  23. }  
  24. context.put("viewSize", viewSize);  
  25.  
  26. //设置参数链表(paramListBuffer),接受参数
  27. findShipmentExprs = new LinkedList();  
  28. paramListBuffer = new StringBuffer();  
  29. if (UtilValidate.isNotEmpty(shipmentTypeId)) {  
  30.     paramListBuffer.append("&shipmentTypeId=");  
  31.     paramListBuffer.append(shipmentTypeId);  
  32.     findShipmentExprs.add(new EntityExpr("shipmentTypeId", EntityOperator.EQUALS, shipmentTypeId));  
  33.   
  34.     currentShipmentType = delegator.findByPrimaryKeyCache("ShipmentType", UtilMisc.toMap("shipmentTypeId", shipmentTypeId));  
  35.     context.put("currentShipmentType", currentShipmentType);  
  36. }  
  37. if (UtilValidate.isNotEmpty(originFacilityId)) {  
  38.     paramListBuffer.append("&originFacilityId=");  
  39.     paramListBuffer.append(originFacilityId);  
  40.     findShipmentExprs.add(new EntityExpr("originFacilityId", EntityOperator.EQUALS, originFacilityId));  
  41.   
  42.     currentOriginFacility = delegator.findByPrimaryKeyCache("Facility", UtilMisc.toMap("facilityId", originFacilityId));  
  43.     context.put("currentOriginFacility", currentOriginFacility);  
  44. }  
  45. if (UtilValidate.isNotEmpty(destinationFacilityId)) {  
  46.     paramListBuffer.append("&destinationFacilityId=");  
  47.     paramListBuffer.append(destinationFacilityId);  
  48.     findShipmentExprs.add(new EntityExpr("destinationFacilityId", EntityOperator.EQUALS, destinationFacilityId));  
  49.   
  50.     currentDestinationFacility = delegator.findByPrimaryKeyCache("Facility", UtilMisc.toMap("facilityId", destinationFacilityId));  
  51.     context.put("currentDestinationFacility", currentDestinationFacility);  
  52. }  
  53. if (UtilValidate.isNotEmpty(statusId)) {  
  54.     paramListBuffer.append("&statusId=");  
  55.     paramListBuffer.append(statusId);  
  56.     findShipmentExprs.add(new EntityExpr("statusId", EntityOperator.EQUALS, statusId));  
  57.   
  58.     currentStatus = delegator.findByPrimaryKeyCache("StatusItem", UtilMisc.toMap("statusId", statusId));  
  59.     context.put("currentStatus", currentStatus);  
  60. }  
  61.   
  62. if ("Y".equals(lookupFlag)) {  //如果有查看权限,则通过。
  63.     context.put("paramList", paramListBuffer.toString());  
  64.   
  65.     if (findShipmentExprs.size() > 0) {  
  66.         EntityFindOptions findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true);  
  67.         mainCond = new EntityConditionList(findShipmentExprs, EntityOperator.AND);  
  68.         List orderBy = UtilMisc.toList("-estimatedShipDate");  
  69.   
  70.         boolean beganTransaction = false;  
  71.         try {  
  72.             beganTransaction = TransactionUtil.begin();  
  73.   
  74.             // using list iterator  
  75.             EntityListIterator orli = delegator.findListIteratorByCondition("Shipment", mainCond, nullnull, orderBy, findOpts);  
  76.   
  77.             // get the indexes for the partial list  
  78.             lowIndex = (((viewIndex - 1) * viewSize) + 1);  
  79.             highIndex = viewIndex * viewSize;  
  80.   
  81.             // 如果 highIndex 大于总记录数,则highIndex更改。
  82.             // 否则不变。
  83.             orli.last();  
  84.             shipmentListSize = orli.currentIndex();  
  85.             if (highIndex > shipmentListSize) {  
  86.                 highIndex = shipmentListSize;  
  87.             }  
  88.   
  89.             // get the partial list for this page  
  90.             orli.beforeFirst();  
  91.             if (shipmentListSize > 0) {  
  92.                 shipmentList = orli.getPartialList(lowIndex, viewSize);  
  93.             } else {  
  94.                 shipmentList = new ArrayList();  
  95.             }  
  96.   
  97.             // 在所记录的信息传递给shipmentList后,orli关闭。
  98.             orli.close();  
  99.         } catch (GenericEntityException e) {  
  100.             String errMsg = "Failure in operation, rolling back transaction";  
  101.             Debug.logError(e, errMsg, module);  
  102.             try {  
  103.                 // only rollback the transaction if we started one...  
  104.                 TransactionUtil.rollback(beganTransaction, errMsg, e);  
  105.             } catch (GenericEntityException e2) {  
  106.                 Debug.logError(e2, "Could not rollback transaction: " + e2.toString(), module);  
  107.             }  
  108.             // after rolling back, rethrow the exception  
  109.             throw e;  
  110.         } finally {  
  111.             // only commit the transaction if we started one... this will throw an exception if it fails  
  112.             TransactionUtil.commit(beganTransaction);  
  113.         }  
  114.     } else {  //没有权限
  115.         shipmentList = new ArrayList();  
  116.         shipmentListSize = 0;  
  117.         highIndex = 0;  
  118.         lowIndex = 0;  
  119.     }  
  120.   //设置返回信息。
  121.     context.put("shipmentList", shipmentList);  
  122.     context.put("listSize", shipmentListSize);  
  123.     context.put("highIndex", highIndex);  
  124.     context.put("lowIndex", lowIndex);  
  125. }  


分享到:
评论

相关推荐

    bsh-2.0b6.jar

    bsh-2.0b6.jar

    bsh-1.3.0.jar

    bsh-1.3.0.jar;bsh-1.3.0.jar;bsh-1.3.0.jar;bsh-1.3.0.jar;bsh-1.3.0.jar

    Java计算数学表达式的结果的jar包(bsh-2.0b4.jar)

    Java计算数学表达式的结果主要依赖于像bsh(BeanShell)这样的库,BeanShell是一个小型、开源的Java脚本环境,它可以动态执行Java代码并提供一个交互式的解释器。在这个场景中,`bsh-2.0b4.jar` 是BeanShell的一个...

    ofbiz解决火狐不支持本地路径文件的方法【含day.bsh】

    NULL 博文链接:https://uule.iteye.com/blog/780319

    bsh-2.0b6-API文档-中文版.zip

    赠送jar包:bsh-2.0b6.jar; 赠送原API文档:bsh-2.0b6-javadoc.jar; 赠送源代码:bsh-2.0b6-sources.jar; 赠送Maven依赖信息文件:bsh-2.0b6.pom; 包含翻译后的API文档:bsh-2.0b6-javadoc-API文档-中文(简体)版...

    bsh2.0源码

    **标题:“bsh2.0源码”**...通过深入研究源代码,可以学习到如何实现动态语言特性,如何处理脚本解析和执行,以及如何在Java应用程序中集成脚本支持。同时,源码的开放性鼓励了社区参与,促进了项目的持续发展和完善。

    bsh架包以及源码包

    这个“bsh架包以及源码包”包含了Beanshell的核心库和源代码,为开发者提供了一个深入理解其内部工作原理以及自定义功能的机会。 首先,Beanshell 允许动态执行Java代码,这意味着在程序运行时可以编写、修改和执行...

    bsh-2.0b6-API文档-中英对照版.zip

    赠送jar包:bsh-2.0b6.jar; 赠送原API文档:bsh-2.0b6-javadoc.jar; 赠送源代码:bsh-2.0b6-sources.jar; 赠送Maven依赖信息文件:bsh-2.0b6.pom; 包含翻译后的API文档:bsh-2.0b6-javadoc-API文档-中文(简体)-...

    bsh-2.0.jar

    jar包,亲测可用

    ofbiz 开发顺序图

    17. **BSH Script**:BeanShell脚本,用于编写动态脚本。 18. **Java Method**:自定义的Java方法,可以嵌入到脚本中使用。 #### 三、工作流程详解 - **请求处理流程**: - 用户通过浏览器发送HTTP请求至服务器。...

    ofbiz入门文档

    ### Ofbiz框架入门知识点 #### 一、运行环境及安装 **1.1 开发工具软件的安装及配置** - **1.1.1 JDK、Eclipse、MyEclipse的安装** ...**5.8 Screen中调用*.bsh** - 在Screen中调用BeanShell脚本的方法。

    RTL8822BSH-VQ-CG+DataSheet_v0.1r13_20171114.pdf

    RTL8822BSH-VQ-CG是Realtek公司生产的一种无线局域网(WLAN)解决方案,专注于实现无线网络连接。 2. 单芯片解决方案(Single-Chip Solution):RTL8822BSH-VQ-CG为单芯片设计,意味着它将Wi-Fi无线局域网(802.11...

    bsh.jar,jcr-1.0.jar,jbpm-identity.jar,jbpm-jpdl.jar

    1. **bsh.jar**:这是一个BeanShell库的JAR文件,BeanShell是一个轻量级的Java脚本环境。它允许开发者在运行时动态地执行Java代码,这对于测试、调试或者在应用程序中实现脚本功能非常有用。在JBPM中,BeanShell被...

    java 类库bsh-1.2

    java的工具类库, 运行过程中可执行嵌入java代码

    bsh-core.jar

    jar包,亲测可用

    bsh.jar/ jcr-1.0.jar/ jbpm-identity.jar/ jbpm-jpdl.jar

    在本例中,我们讨论的是四个特定的`jar`文件:`bsh.jar`、`jcr-1.0.jar`、`jbpm-identity.jar`和`jbpm-jpdl.jar`,它们与jbpm3.2.3版本和SSH整合开发密切相关。 **bsh.jar**:这是一个BeanShell库的`jar`文件,...

    bsh-2.0b4.jar

    大家想没有把java做一门脚本语言来执行? BeanShell就是这样一的个工具。

    BSH伺服电机手册

    根据提供的BSH伺服电机手册的信息,我们可以总结出以下关键知识点: ### 一、手册概览与重要信息 - **手册重要性**:本手册作为产品的组成部分,用户在使用产品前必须仔细阅读并遵循所有指示。 - **保留手册**:...

    yx.bsh.me_PrintHand Mobile Print v13.0.0 [Premium].apk

    printhand是一款简单实用的打印机软件,与一般的打印机工具不同这款打印机是在手机上使用的,适用于全部的安卓手机

Global site tag (gtag.js) - Google Analytics