pageOffice的集成与使用pageOffice的错误:ReferenceError: POBrowser is not defined

第一步,去官网下载pageoffice插件,网址:http://www.zhuozhengsoft.com/dowm/

我下载的是PageOffice完整程序包(PageOffice 4.5 for JAVA ),打开以后有demo(Samples4文件夹),有jar包和web.xml的配置(集成文件),安装说明,开发文档。

其中,将Samples4放入Tomcat的webapps文件夹中,然后启动tomcat,打开http://localhost:8080/Samples4/index.html,就可以看到demo的效果了,也可以参考demo来写代码。

我是在看demo的时候,点击其中的链接时,页面提示我安装pageoffice插件,我就直接在页面安装了。需要填写公司名称、名字、电话、还有注册码,写完点击注册就可以看效果了。

第二步,在项目里集成pageoffice

其实安装说明里面写的很清楚了,1.在web.xml中加入这些配置:
 

	<!-- PageOffice Begin -->
	<servlet>
		<servlet-name>poserver</servlet-name>
		<servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/poserver.zz</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/sealsetup.exe</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/posetup.exe</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/pageoffice.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/jquery.min.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/pobstyle.css</url-pattern>
	</servlet-mapping>
	<servlet>
		<servlet-name>adminseal</servlet-name>
		<servlet-class>com.zhuozhengsoft.pageoffice.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>
		<extension>mht</extension>
		<mime-type>message/rfc822</mime-type>
	</mime-mapping>
	<context-param>
		<param-name>adminseal-password</param-name>
		<param-value>111111</param-value>
	</context-param>
	<!-- PageOffice End -->

2.加入集成文件\lib中的jar包

 

3.在需要在线编辑的 JSP 页面头部添加:

<%@ page language="java" import="com.zhuozhengsoft.pageoffice.*" %>
<%@ taglib uri="http://java.pageoffice.cn" prefix="po" %>

4.现在由于谷歌、火狐都禁止插件了,所以官方推荐用POBrowser的方式打开,那么就需要在jsp中加上:

<script type="text/javascript" src=" jquery.min.js"></script>
<script type="text/javascript" src=" pageoffice.js" id="po_js_main"></script>

5.打开的链接用POBrowser的方式:

<a href="javascript:POBrowser.openWindowModeless('commonTemplateController.do?lookTemplate', 'fullscreen=yes;')">查看</a>

6.后台代码:

/**
	 * 查看Word
	 * @param req
	 * @param groupId
	 * @return
	 */
	@RequestMapping(params = "lookTemplate")
	public String lookTemplate(HttpServletRequest req) {
		PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(req);
		poCtrl1.setServerPage(req.getContextPath() + "/poserver.zz"); //此行必须
		//隐藏Office工具条
		poCtrl1.setOfficeToolbars(false);
		//隐藏自定义工具栏
		poCtrl1.setCustomToolbar(false);
		//设置页面的显示标题
		poCtrl1.setCaption("查看");
		//具体你的文件路径,我项目中的路径我都隐藏了,你们可以将文件路径传过来
		String filePath =getPath();
		if (filePath != null) {
			poCtrl1.webOpen("file://" + path, OpenModeType.docReadOnly, "模板");
			//打开文件
			poCtrl1.setTagId("PageOfficeCtrl1");
		}
		
		return "openword";
	}

7.打开的openword.jsp

<%@ page language="java"
	import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"
	pageEncoding="utf-8"%>
<%@ page import="com.zhuozhengsoft.pageoffice.*,java.awt.*"%>
<%@ taglib uri="http://java.pageoffice.cn" prefix="po"%> 


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    <div style=" width:auto; height:700px;">
      <po:PageOfficeCtrl id="PageOfficeCtrl1" />
    </div>
  </body>
</html>

然后启动tomcat开始测试吧。。。。

pageOffice的错误:ReferenceError: POBrowser is not defined

这个问题困扰了我好几天,后来我跑去找pageoffice的客服,客户回答我说:

“我们为了更新方便  将pageoffice.js文件和jquery.min.js文件封装在了pageoffice.jar中  然后提供了一个servlet返回此js文件  此servlet的映射地址为/pageoffice.js   
文件就相当于在项目根目录下 也就是直接将引用路径跳转到根目录就可以取到啦
比如当前页面在根目录下一级目录里 引用时src="../pageoffice.js"
如果当前页面在二级目录里 src="../../pageoffice.js"
以此类推即可”

所以网上那些说因为web.xml中写了

<servlet-mapping>
	<servlet-name>poserver</servlet-name>
	<url-pattern>/pageoffice.js</url-pattern>
</servlet-mapping>

因此不需要怎么写pageoffice.js的路径,根本就是误导人的。。。

ReferenceError: POBrowser is not defined 错误是指在代码中使用POBrowser对象,但该对象未被定义或引入。这可能是由于以下几个原因导致的: 1. 未正确引入POBrowser相关的JavaScript文件:请确保你在页面中正确引入了POBrowser所需的JavaScript文件。你可以使用类似于<script src="path/to/POBrowser.js"></script>的方式引入该文件。 2. 引入顺序问题:请确保你在引入POBrowser文件之前已经引入了依赖的其他文件,如jQuery文件。这是因为POBrowser可能依赖于其他的JavaScript库,如果在引入POBrowser之前未正确引入这些依赖库,就会导致POBrowser对象未定义的错误。 3. 文件路径错误:请检查你引入POBrowser文件时的文件路径是否正确。如果文件路径错误,浏览器就无法正确加载POBrowser文件,导致POBrowser对象未定义的错误。 要解决这个错误,你可以按照以下步骤进行尝试: 1. 确认POBrowser文件是否正确引入并且路径正确。 2. 检查是否在引入POBrowser文件之前已经引入了依赖的其他文件,如jQuery文件。 3. 如果已经引入了依赖文件并且路径正确,但仍然出现错误,请尝试重新下载并使用最新版本的POBrowser文件。 通过以上步骤,你应该能够解决ReferenceError: POBrowser is not defined的问题。如果问题仍然存在,请检查代码中是否有其他可能导致该错误的问题,并进行排查。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python 解决execjs._exceptions.ProgramError: ReferenceError: document is not defined报错问题](https://download.csdn.net/download/weixin_38508126/14888148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Uncaught ReferenceError: jQuery is not defined](https://blog.csdn.net/weixin_30478923/article/details/96520862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值