OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常
我在使用了下载功能之后,再往页面添加行或进行保存,页面老是报浏览器后退的异常。
猜测是因为我的下载按钮使用的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);
OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常的更多相关文章
- OAF 中下载使用XML Publisher下载PDF附件
OAF doesn't readily expose the Controller Servlet's HttpRequest and HttpResponse objects so you need ...
- golang gin框架中实现"Transfer-Encoding: chunked"方式的分块发送数据到浏览器端
参考了这篇帖子: https://golangtc.com/t/570b403eb09ecc66b90002d9 golang web如何发送小包的chunked数据 以下是代码: r.GET(&qu ...
- EBS OAF中如何在多行表中实现附件功能
EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...
- vue Blob 下载附件报错
vue Blob 下载附件报错,不妨试试: window.location.href=后台地址
- 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法
解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the ...
- 在Winform开发框架中对附件文件进行集中归档处理
在我们Winform开发中,往往需要涉及到附件的统一管理,因此我倾向于把它们独立出来作为一个附件管理模块,这样各个模块都可以使用这个附件管理模块,更好的实现模块重用的目的.在涉及附件管理的场景中,一个 ...
- Nginx 配置下载附件让浏览器提示用户是否保存
Nginx配置下载附件让浏览器提示用户是否保存 by:授客 QQ:1033553122 测试环境 nginx-1.10.0 问题描述: 前端页面,IE11浏览器下请求下载附件模板,针对xls ...
- OAF中多语言的实现(转)
正好前两天研究过这个问题,分享一下啊. 标题: OAF中多语言的实现概述: OAF的多语言的实现有两种方式,其一是直接通过页面上面的“个性化”连接,连接到指定的页面后,进行 ...
- java上传附件,批量下载附件(一)
上传附件代码:借助commons-fileupload-1.2.jar package com.str; import java.io.BufferedInputStream;import java. ...
随机推荐
- P4001 [BJOI2006]狼抓兔子(对偶图)
P4001 [BJOI2006]狼抓兔子 最短路+对偶图 看这题最容易想到的就是网络流.Dinic可以过,据说还跑得比正解快. 如果不写网络流,那么需要知道2个前置知识:平面图和对偶图(右转baidu ...
- VC++ 进度条更新方案
在实际开发中,如果有耗时操作,一般会在工作线程处理数据,然后处理完成后把时间传递到UI线程进行显示,切记不要在工作线程对UI进行操作. 场景: 1. 很多程序需要根据处理业务的进度来更新进度条,进度条 ...
- 高通计划停用MSM 以SDM为移动平台命名【转】
本文转载自:http://www.eeworld.com.cn/xfdz/article_2017061566458.html 据外媒报道,高通公司计划停用骁龙移动平台型号前面的MSM字样,以SDM取 ...
- linux下命令行工具gcp显示拷贝进度条
1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x ...
- sql 锁
数据库中不使用锁时可能出现的问题: 1.更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了.这是因为系统没有执行任何的锁操作,因 ...
- layer.alert自定义关闭回调事件
在项目应用中,遇到自定义关闭layer.alert弹出层,即在关闭layer.alert时,可以自动触发关闭时的事件, 具体方法为: layer.alert('爱心提示!', function(){ ...
- java代码实现highchart与数据库数据结合完整案例分析(二)---折线图
作者原创:未经博主允许不许转载 在上一篇的博客中,展示和分析了如何做一个饼状图,有疑问可以参考上一篇博客. 现在分析和展示折线图的绘制和案例分析, 先展示效果图: 与饼状图不同的是,折线图展现更多的数 ...
- darknet-训练自己的yolov3模型
目录 Yolo v3的使用方法 安装darknet 训练Pascal VOC格式的数据 修改cfg文件中的voc.data 修改VOC.names 下载预训练卷积层权重 修改cfg/yolov3-vo ...
- ZOJ 3869 Ace of Aces
There is a mysterious organization called Time-Space Administrative Bureau (TSAB) in the deep univer ...
- Python subprocess模块学习总结--转载
一.subprocess以及常用的封装函数运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python ...