顺晟科技
2021-08-28 09:42:29
120
1.需求
防止多个用户同时打开文件,从而导致编辑保存的文件以相互复盖。
2.页面代码
(1)web.xml
[plain] view plaincopy
!-page office begin -
servlet
Servlet-namepos服务器/servlet-name
servlet-class com . zhuozhengsoft . page office . poserver . server/servlet-class
/servlet
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/po server . ZZ/URL-pattern
/servlet-mapping
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/seal setup . exe/URL-pattern
/servlet-mapping
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/po setup . exe/URL-pattern
/servlet-mapping
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/page office . js/URL-pattern
/servlet-mapping
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/jquery . min . js/URL-pattern
/servlet-mapping
Servlet-mapping
Servlet-namepos服务器/servlet-name
URL-pattern/pobstyle . CSS/URL-pattern
/servlet-mapping
servlet
servlet-name adminseal/servlet-name
servlet-class com . zhuozhengsoft . page office . poserver . adminseal/servlet-class
/servlet
Servlet-mapping
servlet-name adminseal/servlet-name
URL-pattern/adminseal . ZZ/URL-pattern
/servlet-mapping
Servlet-mapping
servlet-name adminseal/servlet-name
URL-pattern/loginseal . ZZ/URL-pattern
/servlet-mapping
Servlet-mapping
servlet-name adminseal/servlet-name
URL-pattern/sealimage . ZZ/URL-pattern
/servlet-mapping
Mime-mapping
扩展MHT/扩展
mime-type message/RFC 822/mime-type
/mime-mapping
Context-param
param-nameadminseal-password/param-name
param-value 1111/param-value
/context-param
!-page office end -
(2)Default.jsp页面
[plain] view plaincopy
%@ page language='java '
Import=' java.util. *,com.zhuozhengsoft.pageoffice. * '
PageEncoding='utf-8'%
!doctype html public '-/W3C//dtdxhtml 1.0 transitional//en ' ' 3358 www . w3 . org/tr/XHTML 1
html xmlns=' http://www . w3 . org/1999/XHTML '
头(电影)
标题演示:同时控制/标题
!- PageOffice.js和jquery.min.js文件必须引用
Script type='text/javascript '
SRC=' %=request . getcontextpath()%/jquery . min . js '/脚本
Script type='text/javascript '
src=' %=request . getcontextpath()%/page office . js ' id=' po _ js _ main '/script
/head
body style=' font-size 3360 12px;'是
Form id='form1' runat='server '
迪夫
style=' border : solid 1px royal blue;Width: 500px文本-Align 3360中心:Hite 3360 200 px;margin 3360 100 px auto;’是
DIV Style=' Margin-top 3360 50 px;Height: 170px
Span style=' color: Red'是操作说明:/spanspan首先单击“张三打开文件”,在弹出窗口中打开Word文档(不要关闭窗口)。br/再点击“董事打开文件”即可查看并发控制效果。/span
Br/
Br/
1:a href=' JavaScript : po browser . open window modeless(' word . JSP?Userid=1 ','宽度=1200px高度=800px);请参阅张三打开文件/a
Br/
Br/
2:a href=' JavaScript : po browser . open window modeless(' word . JSP?Userid=2 ','宽度=1200px高度=800px);请参阅董事打开文件/a
/div
/div
/form
/body
/html
(3)Wod.jsp
[plain] view plaincopy
%@ page language='java '
Import=' java.util. *,com.zhuozhengsoft.pageoffice. * '
PageEncoding='utf-8'%
%
String userName=' somebody
stringuserid=request . get parameter(' userid ')。tostring();
If (userId.equals('1 '))
{
UserName='张三';
}
Else
{
UserName=‘董事’;
}
pageofficectrl po ctrl=new pageofficectrl(请求);
poctrl . setserverpage(request . getcontextpath()'/po server . ZZ ');
PoCtrl.addCustomToolButton(“保存”,“保存”,1);
poctrl . setsavefilepage(' save file . JSP ');
//设置并发控制时间
poctrl . settime slice(20);
poctrl . webopen(‘doc/test . doc’,open modetype.docnormaledit,username);
%
!doctype html public '-//W3C//dtd html 4.01 transitional//en '
Html
头(电影)
标题保存最简单的打开Word文件/title
/head
菩提
Script type='text/javascript '
Function Save() {
document . getelementbyid(' pageofficectrl 1 ')。web save();
}
//关闭文档前提示保存
Function BeforeBrowserClosed(){
if(document . getelementbyid(' pageofficectrl 1 '))。is dirty) {
If(confirm('提示:文档已修改)。是否继续关闭并取消保存?”)。)
{
Return true
}else{
Return false
}
}
}
/脚本
Form id='form1 '
当前用户:%=用户名%。
Divstyle=' width3360 autoHeight:700px
%=poctrl.gethtml代码(' pageofficectrl1')%
/div
/form
/body
/html
(4)SaveFile.jsp
[plain] view plaincopy
% @ page language=' Java ' import=' Java . util . *,com . zhuozhengsoft . page office . * ' page enent
%
file saver fs=newfile saver(request,response);
fs . save tofile(request . getsession())。getservletcontext()。Getreal path(' concurrency ctrl/doc)
FS . close();
%
3.效果演示
4:周:
(1)此示例使用pageoffice提供的POBrowser方法,以便与所有浏览器兼容。使用POBrowser页面比较pageoffice.js和jquery.min.js文件。
Pageoffic.js文件和jquey.min.js文件封装在jar中。您只需要web.xml的配置路径。通常位于当前项目的根目录下。请参考上面的代码
脚本类型=' text/JavaScript ' src=' %=request . getcontextpath()%/jquery . min . js '/
脚本类型=' text/JavaScript ' src=' %=request . getcontextpath()%/page office . js ' id=
引用Pageoffice.js时必须使用id
(2)打开文档时,系统会提示您是否注册
PageOffice V4.0标准试用序列号:IMTG6-BSXJ-JGZ6-3BIWM
17
2022-03
28
2021-08
28
2021-08
28
2021-08
16
2021-06
16
2021-06