Development environment: JDK1.8, Eclipse, sping Boot + thymeleaf framework.
A Project to build the sping Boot + thymeleaf Framework (no longer detailed):
1. Create a MAVEN Project project: Demo.
2. Modify the Pom.xml configuration to configure the project as the Spring Boot project;
3. Configure Thymeleaf: Add thymeleaf dependency and add thymeleaf configuration in application.properties file;
4. New Democontroller, add Showword, Showindex method:
@RequestMapping (value= "/word", method=requestmethod.get) public Modelandview Showword (HttpServletRequest request, Map<string,object> map) { Modelandview mv = new Modelandview ("Word"); return MV;} @RequestMapping (value= "/index", method=requestmethod.get) public Modelandview Showindex () { Modelandview mv = new Modelandview ("Index"); return MV;}
5. New Thymeleaf Template page: word.html, index.html;
6. Run the demo project and successfully visit: Http://localhost:8080/index
Second, integrated Pageoffice
1. Add the Pageoffice dependency in Pom.xml:
<!--add SQLite dependency (optional: If you do not need to use the stamp function, you do not need to add this dependency)--><dependency> <groupid>org.xerial</groupid > <artifactId>sqlite-jdbc</artifactId> <version>3.7.2</version></ dependency><!--Add Pageoffice dependency (required)--><dependency> <groupid>com.zhuozhengsoft</ groupid> <artifactId>pageoffice</artifactId> <version>4.3.0.2</version>< /dependency>
2. Add two custom parameter configurations in the Application.properties file, Posyspath: Specify a disk directory to hold the License.lic file generated after the Pageoffice registration is successful; Popassword: Set Pageoffice self-contained seal tube The login password for the Pageoffice server-side servlet program to be used:
########################################################## #PageOffice ########################################## ############# #posyspath =d:/lic/popassword=111111
3. Add code in Democontroller get the two parameters defined in the previous step in application.properties:
@Value ("${posyspath}") private string Posyspath; @Value ("${popassword}") private string Popassword;
4. Add the registration code for the Pageoffice servlet in Democontroller:
/** * Add Pageoffice server-side Authorization program servlet (required) * @return */ @Bean public Servletregistrationbean Servletregistrationbean () { Com.zhuozhengsoft.pageoffice.poserver.Server poserver = new Com.zhuozhengsoft.pageoffice.poserver.Server (); Set Pageoffice Registration successful, license.lic file directory poserver.setsyspath (posyspath); Servletregistrationbean SRB = new Servletregistrationbean (poserver); Srb.addurlmappings ("/poserver.zz"); Srb.addurlmappings ("/posetup.exe"); Srb.addurlmappings ("/pageoffice.js"); Srb.addurlmappings ("/jquery.min.js"); Srb.addurlmappings ("/pobstyle.css"); Srb.addurlmappings ("/sealsetup.exe"); return SRB; // }
5. Add the code that creates the Pageofficectrl object in the Showword method of Democontroller, where the first parameter of the Webopen method is the disk path on the server side of the Office file, and the constants are temporarily used in this demo: d:\\ Test.doc
@RequestMapping (value= "/word", method=requestmethod.get) public Modelandview Showword (httpservletrequest Request, map<string,object> Map) { //---Pageoffice The calling code begins----- Pageofficectrl poctrl=new Pageofficectrl (request); Poctrl.setserverpage ("/poserver.zz");//Set the authorization program servlet Poctrl.addcustomtoolbutton ("Save", "saved", 1);//Add Custom button poctrl.setsavefilepage ("/save");//Set Save action Poctrl.webopen ("D:\\test.doc", Openmodetype.docadmin, "Zhang San "); Map.put ("Pageoffice", Poctrl.gethtmlcode ("PAGEOFFICECTRL1")); ---pageoffice The call code ends----- Modelandview mv = new Modelandview ("Word"); return MV; }
6. Add the div and JS code for the Pageoffice client control in word.html:
<div style= "width:1000px;height:700px;" th:utext= "${pageoffice}" > </div><script type= "text/ JavaScript > function Save () { document.getElementById ("PageOfficeCtrl1"). WeBSave (); } </script>
7. Add a reference to the Pageoffice.js and jquery.min.js in the word.html and a hyperlink to the Open file:
<script type= "Text/javascript" src= "jquery.min.js" ></script><script type= "Text/javascript" src= " Pageoffice.js "id=" Po_js_main "></script><a href=" javascript:POBrowser.openWindowModeless ('/word ', ' width=1200px;height=800px; '); " > Open File </a>
8. Add the SaveFile method in Democontroller to receive the Pageoffice client uploaded file stream and save it to the server specified disk directory, and temporarily use the constant in this demo: d:\\
@RequestMapping ("/save") public void SaveFile (HttpServletRequest request, httpservletresponse response) { Filesaver fs = new Filesaver (request, response); Fs.savetofile ("d:\\" + fs.getfilename ()); Fs.close (); }
9. Prepare a Test.doc file (do not use a 0-byte file) for testing in the D packing directory;
10. Run the demo project, Access: Http://localhost:8080/index Click on the "Open file" hyperlink to open, edit, and save the file online.
Third, the source code download
: Http://www.zhuozhengsoft.com/download/PageOffice4.3.0.2ForSpringBoot.zip
Reproduced Java Integration Pageoffice Open edit Word file online-Spring Boot