博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常
阅读量:6940 次
发布时间:2019-06-27

本文共 4516 字,大约阅读时间需要 15 分钟。

我在使用了下载功能之后,再往页面添加行或进行保存,页面老是报浏览器后退的异常。

猜测是因为我的下载按钮使用的submitButton,它隐式的包含了一个submit动作,且我在代码中有一个Commit动作,而下载完成之后有一个

response.getOutputStream().flush();

response.getOutputStream().close();

操作,导致页面失效。

 

解决方式:

将submitButton改为button,再增加firePartialAction的事件即可。

 

另:如果是标准的页面,需要添加一个button按钮,且为其添加事件的代码如下。

//预览审核报告OACellFormatBean createPreviewCellBean =(OACellFormatBean)this.createWebBean(pageContext , OAWebBeanConstants.CELL_FORMAT_BEAN , null , null);OAButtonBean previewPDFBean =     (OAButtonBean)createWebBean(pageContext , OAWebBeanConstants.BUTTON_BEAN , null , "CuxPreviewPDFEvent");previewPDFBean.setID("CuxPreviewPDFBtn");        previewPDFBean.setName("CuxPreviewPDFBtn");String previewPDF = pageContext.getMessage("CUX" , "CUX_PREVIEW_PDF_FILE" , null);previewPDFBean.setLabel(previewPDF);previewPDFBean.setText(previewPDF);Hashtable apprHashTable = new Hashtable(1);//此事件会隐式的包含submit动作。//apprHashTable.put("CuxSuppCateMappingId" , //                          new OADataBoundValueViewObject(CuxViewApprHisBean , "SuppItemCateMappingId" , "NewSuppReqSearchVO"));//previewPDFBean.setFireActionForSubmit("CuxPreviewPDFEvent", null, apprHashTable, true, true);//此事件等价于在Button上设置了firePartialAction事件,且parameters中的key,value分别为param_AucHeaderId,{$AuctionHeaderId}FirePartialAction previewFirePartialAction = new FirePartialAction("CuxPreviewPDFEvent");Parameter[] params = new Parameter[4];params[0] = new Parameter();params[0].setValueBinding(new OADataBoundValueFireActionURL(attrBidValueBean , "{$AuctionHeaderId}"));params[0].setKey("param_AucHeaderId");previewPDFBean.setAttributeValue(OAWebBeanConstants.PRIMARY_CLIENT_ACTION_ATTR,previewFirePartialAction);createPreviewCellBean.addIndexedChild(previewPDFBean);OARowLayoutBean btnRowBean =(OARowLayoutBean)webBean.findChildRecursive("ButtonBarRow");btnRowBean.addIndexedChild(createPreviewCellBean);

 

 

 

添加图片按钮事件

OAImageBean CuxViewApprHisBean = (OAImageBean)createWebBean(pageContext,OAWebBeanConstants.IMAGE_BEAN,null,null);        CuxViewApprHisBean.setID("CuxViewApprHistory");        String apprHierarchy = pageContext.getMessage("CUX" , "CUX_SUPP_INQURE_APP_HIS" , null);        CuxViewApprHisBean.setLabel(apprHierarchy);        CuxViewApprHisBean.setSource(OAWebBeanConstants.APPS_MEDIA_DIRECTORY +"duplicate_enabled.gif");        Hashtable apprHashTable = new Hashtable(1);        apprHashTable.put("CuxSuppCateMappingId" ,                                   new OADataBoundValueViewObject(CuxViewApprHisBean , "SuppItemCateMappingId" , "NewSuppReqSearchVO"));        CuxViewApprHisBean.setFireActionForSubmit("CuxApproveHistEvent" , null , apprHashTable , true);        ResultRNBean.addIndexedChild(11 , CuxViewApprHisBean);

 

 

Table添加列

OATableBean ResultRNBean =             (OATableBean)webBean.findChildRecursive("RegTableRN");        OAMessageStyledTextBean phoneBean =             (OAMessageStyledTextBean)createWebBean(pageContext,                                                    OAMessageStyledTextBean.MESSAGE_STYLED_TEXT_BEAN,                                                    null, "PhoneNumber");        phoneBean.setViewUsageName("NewSuppReqSearchVO"); //此列绑定的VO        phoneBean.setViewAttributeName("PhoneNumber"); //此列绑定的VO中的字段        phoneBean.setLabel("联系电话"); //此列需要显示的题头           ResultRNBean.addIndexedChild(9, phoneBean);

 

Table添加Switcher列

OASwitcherBean reviewSwitcherRN =             (OASwitcherBean)createWebBean(pageContext,                                           "/cux/oracle/apps/pos/onboard/webui/CuxSuppReqReviewSwitcherRN",                                           "reviewSwitcherRN", true);        if (ResultRNBean != null) {            ResultRNBean.addIndexedChild(12, reviewSwitcherRN);        }

 

标准删除按钮添加事件

OAImageBean DeleteBean =             (OAImageBean)webBean.findChildRecursive("Delete");        Hashtable deleteHashTable = new Hashtable(2);        deleteHashTable.put("mappingId",                             new OADataBoundValueViewObject(DeleteBean,                                                            "MappingId",                                                            "NewSuppReqSearchVO"));        deleteHashTable.put("RegistrationStatus",                             new OADataBoundValueViewObject(DeleteBean,                                                            "RegistrationStatus",                                                            "NewSuppReqSearchVO"));        DeleteBean.setFireActionForSubmit("CuxDelete", null, deleteHashTable,                                           true);

 

转载地址:http://hjfnl.baihongyu.com/

你可能感兴趣的文章
CSS3 学习+实践(三)
查看>>
hadoop集群搭建
查看>>
基于UDP的IO多路复用一例
查看>>
海量数据处理专题(九)——外排序
查看>>
解决sqlplus的segmentation fault或hang问题
查看>>
企业搜索引擎开发之连接器connector(八)
查看>>
win8下Python学习——搭建web.py框架
查看>>
自动清理手机文件方法
查看>>
【工具类】NetWorkHelper
查看>>
Spring MVC 教程,快速入门,深入分析(转载)
查看>>
财经法规与会计职业道德4
查看>>
php 杂记
查看>>
单元测试同时支持 NUnit/MSTest
查看>>
沟通至上 《高效程序员的45个习惯》读书笔记
查看>>
解决Android中无法搜索联系人的问题
查看>>
使用网站作为WCF服务宿主的几种做法
查看>>
2013ACM多校联合(2)
查看>>
zoom.js:一款效果很独特的页面内容缩放插件
查看>>
GateWay程序分析01_主程序分析
查看>>
POJ 1328
查看>>