webOFFICE.jsp 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <%@page import="com.yw.core.utils.StringUtil"%>
  2. <%@page import="com.yw.core.utils.Constant"%>
  3. <%@ page language="java" contentType="text/html; charset=GBK"
  4. pageEncoding="GBK"%>
  5. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  6. <%
  7. boolean isNewFile;
  8. String filetype = "";
  9. String fileId = null;
  10. String srcFile = "";
  11. String fileName = "";
  12. String realName = "";
  13. String fileUrl = "";
  14. String progId = "";
  15. String task = "";
  16. fileId = request.getAttribute("fileId") == null ? null : String
  17. .valueOf(request.getAttribute("fileId"));
  18. srcFile = request.getAttribute("srcFile") == null ? "" : String
  19. .valueOf(request.getAttribute("srcFile"));
  20. task = request.getAttribute("task") == null ? null : String
  21. .valueOf(request.getAttribute("task"));
  22. if (fileId == null || "".equals(fileId)) {
  23. isNewFile = true;
  24. } else {
  25. isNewFile = false;
  26. }
  27. if (isNewFile) {
  28. filetype = request.getAttribute("fileType") == null
  29. ? ""
  30. : String.valueOf(request.getAttribute("fileType"))
  31. .trim();//如果filetype参数为空,默认为word文档.
  32. if (filetype.equalsIgnoreCase("Excel.Sheet")) {
  33. progId = "Excel.Sheet";
  34. } else if (filetype.equalsIgnoreCase("Excel.Chart")) {
  35. progId = "Excel.Chart";
  36. } else if (filetype.equalsIgnoreCase("PowerPoint.Show")) {
  37. progId = "PowerPoint.Show";
  38. } else if (filetype.equalsIgnoreCase("Word.Document")) {
  39. progId = "Word.Document";
  40. } else if (filetype.equalsIgnoreCase("Visio.Drawing")) {
  41. progId = "Visio.Drawing";
  42. } else if (filetype.equalsIgnoreCase("MSProject.Project")) {
  43. progId = "MSProject.Project";
  44. } else if (filetype.equalsIgnoreCase("WPSFile.4.8001")) {
  45. progId = "WPSFile.4.8001";
  46. } else if (filetype.equalsIgnoreCase("WPS.Document")) {
  47. progId = "WPS.Document";
  48. } else if (filetype.equalsIgnoreCase("ET.Sheet.1.80.01.2001")) {
  49. progId = "ET.Sheet.1.80.01.2001";
  50. } else if (filetype.equalsIgnoreCase("ET.WorkBook")) {
  51. progId = "ET.WorkBook";
  52. } else {
  53. progId = "Word.Document";
  54. }
  55. fileId = String.valueOf(StringUtil.getSeq());
  56. } else {
  57. fileUrl = String.valueOf(request.getAttribute("fileUrl"));
  58. srcFile = String.valueOf(request.getAttribute("srcFile"));
  59. realName = String.valueOf(request.getAttribute("realName"));
  60. }
  61. %>
  62. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  63. <html>
  64. <head>
  65. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  66. <meta http-equiv="cache-control" content="no-cache,must-revalidate">
  67. <meta http-equiv="pragram" content="no-cache">
  68. <meta http-equiv="expires" content="0">
  69. <title>web文档测试</title>
  70. <link href="${ pageContext.request.contextPath}/main.css" rel="stylesheet" type="text/css" />
  71. <link href="${pageContext.request.contextPath }/liger/lib/ligerUI/skins/${sessionScope.css}/css/ligerui-all.css" rel="stylesheet" type="text/css" />
  72. <script src="${pageContext.request.contextPath }/liger/lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
  73. <script type="text/javascript" src="/shares/ntko/OfficeControl.js"></script>
  74. <script type="text/javascript" src="/shares/js/constant.js"></script>
  75. <script type="text/javascript" src="/shares/js/common.js"></script>
  76. <script type="text/javascript">
  77. function resize(){
  78. $("#officecontrol").height(screen.height - 150);
  79. }
  80. function save(){
  81. var rs = $.validate({
  82. name : "srcFile",
  83. model : [ {
  84. type : "require",
  85. msg : "标题不能为空!"
  86. }, {
  87. type : "len",
  88. min : 1,
  89. max : 50,
  90. msg : "标题长度不能超过50个字!"
  91. } ]
  92. });
  93. if(rs){
  94. saveFileToUrl();
  95. if(OFFICE_CONTROL_OBJ.StatusCode == 0){
  96. window.opener.setValue('<%=fileId%>', $("#srcFile").val());
  97. $("#isNewFile").val("false");
  98. //window.close();
  99. }
  100. }
  101. }
  102. function onPageClose() {
  103. if (task == "edit") {
  104. if (!OFFICE_CONTROL_OBJ.activeDocument.saved) {
  105. if (confirm("文档修改过,还没有保存,是否需要保存?")) {
  106. var rs = $.validate({
  107. name : "srcFile",
  108. model : [ {
  109. type : "require",
  110. msg : "标题不能为空!"
  111. }, {
  112. type : "len",
  113. min : 1,
  114. max : 50,
  115. msg : "标题长度不能超过50个字!"
  116. } ]
  117. });
  118. if(rs){
  119. saveFileToUrl();
  120. if(OFFICE_CONTROL_OBJ.StatusCode == 0){
  121. window.opener.setValue('<%=fileId%>', $("#srcFile").val());
  122. return true;
  123. } else {
  124. return false;
  125. }
  126. } else {
  127. return false;
  128. }
  129. }
  130. }
  131. }
  132. return true;
  133. }
  134. function closeDialog(){
  135. if (onPageClose()) {
  136. parent.closeOfficeDialog();
  137. }
  138. }
  139. </script>
  140. <style type="text/css">
  141. </style>
  142. </head>
  143. <body onload='resize();intializePage("<%=fileUrl%>", "<%=isNewFile%>", "<%=progId%>", "<%=task%>");'
  144. onbeforeunload="">
  145. <form action="${pageContext.request.contextPath }/NtkoAction.do?task=save" enctype="multipart/form-data">
  146. <div class="form-button">
  147. <c:if test="${requestScope.task == 'edit' }">
  148. 请输入文件名:
  149. <input name="srcFile" id="srcFile" type="text" value="<%=srcFile%>" />
  150. <input type="button" value="保存" class="l-button" onclick="save();">
  151. </c:if>
  152. <c:if test="${requestScope.task != 'edit' }">
  153. <%=srcFile%>
  154. </c:if>
  155. <input type="button" value="关闭" class="l-button" onclick="closeDialog();">
  156. <input type="button" value="取消" class="l-button" onclick="parent.closeOfficeDialog();">
  157. </div>
  158. <input name="fileName" id="fileName" type="hidden" value="<%=fileName%>" />
  159. <input name="fileId" id="fileId" type="hidden" value="<%=fileId%>" />
  160. <input name="isNewFile" id="isNewFile" type="hidden" value="<%=isNewFile%>" />
  161. <div id="officecontrol"
  162. style="margin-top: 35px; margin-left: 10px; margin-right: 10px;">
  163. <script type="text/javascript"
  164. src="/shares/ntko/ntkoofficecontrol.js"></script>
  165. <div id=statusBar style="height:20px;width:100%;background-color:#c0c0c0;font-size:12px;"></div>
  166. <script language="JScript" for="TANGER_OCX" event="OnDocumentClosed()">
  167. setFileOpenedOrClosed(false);
  168. </script>
  169. <script language="JScript" for="TANGER_OCX"
  170. event="OnDocumentOpened(TANGER_OCX_str,TANGER_OCX_obj)">
  171. OFFICE_CONTROL_OBJ.activeDocument.saved=true;//saved属性用来判断文档是否被修改过,文档打开的时候设置成ture,当文档被修改,自动被设置为false,该属性由office提供.
  172. //获取文档控件中打开的文档的文档类型
  173. switch (OFFICE_CONTROL_OBJ.doctype) {
  174. case 1:
  175. fileType = "Word.Document";
  176. fileTypeSimple = "word";
  177. break;
  178. case 2:
  179. fileType = "Excel.Sheet";
  180. fileTypeSimple="excel";
  181. break;
  182. case 3:
  183. fileType = "PowerPoint.Show";
  184. fileTypeSimple = "ppt";
  185. break;
  186. case 4:
  187. fileType = "Visio.Drawing";
  188. break;
  189. case 5:
  190. fileType = "MSProject.Project";
  191. break;
  192. case 6:
  193. fileType = "WPS Doc";
  194. fileTypeSimple="wps";
  195. break;
  196. case 7:
  197. fileType = "Kingsoft Sheet";
  198. fileTypeSimple="et";
  199. break;
  200. default :
  201. fileType = "unkownfiletype";
  202. fileTypeSimple="unkownfiletype";
  203. }
  204. if(task != "edit"){
  205. OFFICE_CONTROL_OBJ.SetReadOnly(true, "");
  206. }
  207. setFileOpenedOrClosed(true);
  208. </script>
  209. <script language="JScript" for="TANGER_OCX"
  210. event="BeforeOriginalMenuCommand(TANGER_OCX_str,TANGER_OCX_obj)">
  211. alert("BeforeOriginalMenuCommand事件被触发");
  212. </script>
  213. <script language="JScript" for="TANGER_OCX"
  214. event="OnFileCommand(TANGER_OCX_str,TANGER_OCX_obj)">
  215. if (TANGER_OCX_str == 3) {
  216. alert("不能保存!");
  217. CancelLastCommand = true;
  218. }
  219. </script>
  220. <script language="JScript" for="TANGER_OCX"
  221. event="AfterPublishAsPDFToURL(result,code)">
  222. result=trim(result);
  223. alert(result);
  224. document.all("statusBar").innerHTML="服务器返回信息:"+result;
  225. if(result=="文档保存成功。") {
  226. window.close();
  227. }
  228. </script>
  229. <script language="JScript" for="TANGER_OCX"
  230. event="OnCustomMenuCmd2(menuPos,submenuPos,subsubmenuPos,menuCaption,menuID)">
  231. alert("第" + menuPos +","+ submenuPos +","+ subsubmenuPos +"个菜单项,menuID="+menuID+",菜单标题为\""+menuCaption+"\"的命令被执行.");
  232. </script>
  233. </div>
  234. </form>
  235. </body>
  236. </html>