码迷,mamicode.com
首页 > 其他好文 > 详细

ofbiz进击 个人遇到的奇葩问题汇总。

时间:2015-04-29 16:34:12      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

在本人做退货单生成的时候,因为考虑到要控制通过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两种参数里面)  

ofbiz进击 个人遇到的奇葩问题汇总。

标签:

原文地址:http://www.cnblogs.com/wangqc/p/ofbiz_question.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!