惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Webroot Blog
Webroot Blog
U
Unit 42
A
About on SuperTechFans
宝玉的分享
宝玉的分享
月光博客
月光博客
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
P
Privacy & Cybersecurity Law Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Spread Privacy
Spread Privacy
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
Intezer
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
V
V2EX
L
LangChain Blog
AI
AI
G
GRAHAM CLULEY
T
Tor Project blog
人人都是产品经理
人人都是产品经理
D
Docker
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
I
InfoQ
Y
Y Combinator Blog
C
Comments on: Blog
GbyAI
GbyAI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
H
Help Net Security
Vercel News
Vercel News
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿

博客园 - 郄永军

用触发器实现表的同步操作 Quartz CronTrigger最完整配置说明 - 郄永军 - 博客园 如何优化JAVA程序开发,提高JAVA性能 使用Hibernate+Middlegen实现自动代码生成简介 如何用java调用c++编写成的DLL Web.xml加载顺序 java性能优化 Java NIO简介 选用ibatis和hibernate的区别 Fusioncharts 参数 dwr介绍 ASP.NET缓存:方法分析和实践示例 比较同一数据库不同版本间数据表之间差异 如何动态执行存储过程或函数 NTKO正文控件的使用技巧 - 郄永军 - 博客园 JS中的关于类型转换的性能优化 - 郄永军 - 博客园 如何把ini文件转换为xml 生成随即的数值 获取文件大小的java程序
Dorado开发框架下保存附件存草稿功能 - 郄永军 - 博客园
郄永军 · 2010-12-14 · via 博客园 - 郄永军

实现这个功能的时候要注意2点:

1、 保持dataset中数据的version同数据库一致,以保证能够再次更新:

1)        保存成功之后,可以选择带回id重新刷新dataset

2)        或者直接带回idversionCREATED_BYCREATION_DATE置回dataset。(这里要注意CREATED_BYCREATION_DATE在添加操作之后也要回置)

2、 保存完附件之后如何让附件区域刷新(这个是重点)。要实现这个功能,需要改变一下我们页面的结构:

1)        managet页面引一个iframe

<div id="filesDiv" style="display: ininle; overflow: hidden; ">

 <iframe name="attachFrame" id="attachFrame" src="oa_user_mail_attach.jsp" width="100%" marginheight="0" marginwidth="0" frameborder="0"></iframe>

</div>

2)        将原来manager页面上的form放到新的页面oa_user_mail_attach.jsp上。

3)        要注意oa_user_mail_attach.jsp页面上要用如下代码区分出是添加操作还是修改操作。

<%

    if(attachId != "" && attachId != null){

%>

    new AttachFileView("OA_USERMAIL","<%=attachId%>",true);

    var file = new AttachFileAdd();

<%

}else{

%>

    var file = new AttachFileAdd();

<% 

}

%>

4)        在附件上传成功之后刷新下iframe

attachId = datasetUserMail.getValue("MID");    attachFrame.window.location="oa/module/pi/userMail/oa_user_mail_attach.jsp?attachId="+attachId;

这里只大概列出了关键操作,还有些细节需要注意

如何实现定时保存功能

进而,如果需要做到定时自动保存,可在页面上添加如下javascript

<script type="text/javascript">

window.setInterval("autoSave();",60000);

function autoSave(){

   commandSaveTemple.execute();

}

</script>

实现这个功能需要注意:

如果想实现定时保存,那么在处理数据保存成功之后的version问题时,就不用采用上面的方法1),因为在后台执行保存的同时,页面数据仍在修改,如果保存后根据回带的id重新刷新dataset会造成数据的损失。