package com.key.common.utils; import java.io.*; import java.util.Properties; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; import com.itextpdf.text.log.SysoCounter; import com.key.common.plugs.aliyun.AliyunOSS; import com.key.common.plugs.baiduyun.BaiduBOS; import com.key.common.utils.web.Struts2Utils; import org.jsoup.Jsoup; import org.jsoup.helper.StringUtil; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; public class ToHtmlServlet extends HttpServlet { private static final long serialVersionUID = -9118659583515649615L; private static String contentCopyright = null; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext sc = getServletContext(); String url=request.getParameter("url"); String filePath=request.getParameter("filePath"); String fileName=request.getParameter("fileName"); //url = "/design/my-survey-design!previewDev.action?surveyId=402880ea4675ac62014675ac7b3a0000"; // 这是生成的html文件名,如index.htm filePath = filePath.replace("/", File.separator); filePath = filePath.replace("\\", File.separator); String fileRealPath = sc.getRealPath("/") +File.separator+ filePath; // String content = exeDown(url); // printStream(fileRealPath,fileName,content); RequestDispatcher rd = sc.getRequestDispatcher(url); final ByteArrayOutputStream os = new ByteArrayOutputStream(); final ServletOutputStream stream = new ServletOutputStream() { public void write(byte[] data, int offset, int length) { os.write(data, offset, length); } public void write(int b) throws IOException { os.write(b); } }; final PrintWriter pw = new PrintWriter(new OutputStreamWriter(os,"UTF-8")); HttpServletResponse rep = new HttpServletResponseWrapper(response) { public ServletOutputStream getOutputStream() { return stream; } public PrintWriter getWriter() { return pw; } }; //rd.include(request, rep); rd.forward(request, rep); pw.flush(); pdocument(fileName,fileRealPath,os); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.print("
首页已经成功生成!Andrew
"); } private void pdocument(String fileRealPath,String fileName,ByteArrayOutputStream os) throws Exception{ Document document = Jsoup.parse(os.toString()); Elements elements = document.getElementsByTag("a"); String contentCopyrightStr = ""; //自定义问卷内容的版权,可以在设置中设置名称,然后就自动显示 if(DiaowenProperty.contentCopyright!=null && !"".equals(DiaowenProperty.contentCopyright)){ contentCopyrightStr = "内容版权 "+DiaowenProperty.contentCopyright+""; } // 修改说明: // 前部分是官网的保留声明,虽然这块目前是法律的灰色地带,但从维护一个健康的开源社区,从帮助到您的角度,请您能保留下来。 // 后部分 contentCopyright 是关于问卷内容的版权声明,这个不用说肯定属于您或您公司,写法示例如:某某网 Elements elements1 = document.getElementsByClass("footer-copyright").remove(); document.body().append(new StringBuffer(";psbn&>a/