📄 docprintservlet.java
字号:
package servlets;
import datasource.*;
import dori.jasper.engine.*;
import dori.jasper.engine.util.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* @author: xuyongqiang
* Created on 2003-10-28
*/
public class DocPrintServlet extends HttpServlet {
/**
*
*/
public void service(
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
ServletContext context= this.getServletConfig().getServletContext();
HttpSession session= request.getSession();
String path= (String)session.getAttribute("reportUrl");
File reportFile= new File(context.getRealPath(path));
Map parameters= new HashMap();
parameters= (HashMap)session.getAttribute("parameters");
parameters.put("BaseDir", reportFile.getParentFile());
Object[][] data= (Object[][])session.getAttribute("data");
ArrayList nameList= (ArrayList)session.getAttribute("nameList");
session.removeAttribute("parameters");
session.removeAttribute("reportUrl");
session.removeAttribute("data");
session.removeAttribute("nameList");
WebappDataSource webappDataSource= new WebappDataSource();
webappDataSource.setNameList(nameList);
webappDataSource.setData(data);
JasperPrint jasperPrint= null;
try {
JasperReport jasperReport=
(JasperReport)JRLoader.loadObject(reportFile.getPath());
jasperPrint=
JasperFillManager.fillReport(
jasperReport,
parameters,
webappDataSource);
} catch (JRException e) {
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.println("<html>");
out.println("<head>");
out.println(
"<title>JasperReports - Web Application Sample</title>");
out.println(
"<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println(
"<span class=\"bnew\">JasperReports encountered this error :</span>");
out.println("<pre>");
e.printStackTrace(out);
out.println("</pre>");
out.println("</body>");
out.println("</html>");
return;
}
if (jasperPrint != null) {
response.setContentType("application/octet-stream");
ServletOutputStream ouputStream= response.getOutputStream();
ObjectOutputStream oos= new ObjectOutputStream(ouputStream);
oos.writeObject(jasperPrint);
oos.flush();
oos.close();
ouputStream.flush();
ouputStream.close();
} else {
response.setContentType("text/html");
PrintWriter out= response.getWriter();
out.println("<html>");
out.println("<head>");
out.println(
"<title>JasperReports - Web Application Sample</title>");
out.println(
"<link rel=\"stylesheet\" type=\"text/css\" href=\"../stylesheet.css\" title=\"Style\">");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<span class=\"bold\">Empty response.</span>");
out.println("</body>");
out.println("</html>");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -