zoukankan      html  css  js  c++  java
  • ofbiz进击 个人遇到的奇葩问题汇总。

    在本人做退货单生成的时候,因为考虑到要控制通过java类方法去调用 service服务可以方便给出提示消息,所以专门新建了一个java类,然后去重新请求request请求,下面为Java类的代码

     1 public static String confirmReturnOrder(HttpServletRequest request,
     2             HttpServletResponse response) {
     3         String responseString = "error";
     4         try {
     5             responseString = EventFactory.runRequestEvent(request, response, "makeQuickReturn");
     6         } catch (EventHandlerException e) {
     7             Debug.logError(e, "创建退货单出错", module);
     8         }
     9         return "success";
    10     }
    View Code

    然后在这里面调用了makeQuickReturn 这个请求,这个请求里面是直接调用service服务的。

    1 <request-map uri="makeQuickReturn">
    2         <security https="true" auth="true"/>
    3         <event type="service-multi" invoke="createReturnAndItemOrAdjustment"/>
    4         <response name="success" type="request-redirect-noparam" value="findReturnOrder"></response>
    5         <response name="error" type="view-last"/>
    6     </request-map>
    View Code

    control请求里面的写法、

     1  <request-map uri="confirmReturnOrder">
     2         <security https="false" auth="true"/>
     3         <event type="java" invoke="confirmReturnOrder" path="com.brains.order.ReturnOrderEvents"></event>
     4         <response name="success" type="request-redirect-noparam" value="findReturnOrder"></response>
     5         <response name="error" type="view-last"/>
     6     </request-map>
     7     <request-map uri="makeQuickReturn">
     8         <security https="true" auth="true"/>
     9         <event type="service-multi" invoke="createReturnAndItemOrAdjustment"/>
    10         <response name="success" type="request-redirect-noparam" value="findReturnOrder"></response>
    11         <response name="error" type="view-last"/>
    12     </request-map>
    View Code

    首先分析下,是在 confirmReturnOrder 的 control 里面调用的 makeQuickReturn 这个请求的,因此最终返回的view肯定是走的 confirmReturnOrder 返回的请求的。

    但是即使我在两个请求里面的response 里面都定义为重定向的方式,在重定向返回的列表里面还是会带有返回过来的参数(调用service服务产生的returnId)

    最后,在项目经理的指导下,才知道使用java类返回的response里面是会将调用的service服务返回的参数封装在 attributes里面,因此在页面里面,将parameters 改为requestParameters即可(因为parameters里面还包含了attributes跟parameters两种参数里面)  

  • 相关阅读:
    c#泛型的使用
    如何调试由于heap corruption导致的程序崩溃的简单示例
    Windows的SEH机理简要介绍
    利用定制行为扩展WCF之利用MessageInsepctor behaviourExtension扩展WCF行为(自定义消息头)
    欧拉函数
    JZOJ.1349 最小公约数
    关于扩展中国剩余定理(excrt)的证明与拙见
    【USACO 2021 US Open, Gold】United Cows of Farmer John & JZOJ7220
    线性求逆元
    【USACO 2021 January Contest, Platinum】Problem 1. Sum of Distances JZOJ.7241
  • 原文地址:https://www.cnblogs.com/wangqc/p/ofbiz_question.html
Copyright © 2011-2022 走看看