昨天研究了pageOffice的一些简单功能,并且在jsp页面中演示了他的功能。今天主要是了解了其他的一些功能,并且将这些功能迁移到项目中,实现了其中的一些功能。
由于只是测试pageOffice的一些功能,所以我把所有对pageOffice的后台操作代码都放入了Controller中,下面将代码和注释功能粘出来。
LthController.java
@Controller
public class LthController {
private static final Logger logger = LoggerFactory.getLogger(LthController.class);
@RequestMapping(value = "/bjxx", method = RequestMethod.GET)
public @ResponseBody ModelAndView dwxx(HttpServletRequest request) {
logger.info("执行bianji信息界面!!! ");
String filePath = request.getSession().getServletContext().getRealPath("doc/test.doc");
System.out.print(filePath);// 查看filePath 的值
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
poCtrl1.setSaveFilePage("/mss/save");//如要保存文件,此行必须
poCtrl1.addCustomToolButton("保存", "Save()", 1);//添加自定义工具栏按钮
poCtrl1.setCaption("test.doc");//设置文档标题名称
poCtrl1.setTheme(ThemeType.Office2010);//poCtrl为PageOfficeCtrl对象,ThemeType为枚举类型
//防止多个用户同时打开一个文档,设置并发控制
//poCtrl1.setTimeSlice(20);
//poCtrl1.webOpen("filePath",OpenModeType.docRevisionOnly,"打开文档的当前用户");
//打开文件
poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, "张三");
poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须
ModelAndView modelandview = new ModelAndView();
modelandview.setViewName("bjxx");
modelandview.addObject(poCtrl1);
return modelandview;
}
@RequestMapping(value = "/save", method = RequestMethod.POST)
public @ResponseBody String save(HttpServletRequest request,HttpServletResponse response){
logger.info("保存操作");
FileSaver fs=new FileSaver(request, response);
fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/")+"/"+fs.getFileName());
fs.close();
return null;
}
}
web.xml中添加的pageOffice节点
<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>/poserver.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/pageoffice.cab</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/popdf.cab</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>
<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.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/loginseal.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/sealimage.do</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>