jasperreportenhancedmultiformatview.java

来自「Java的框架」· Java 代码 · 共 54 行

JAVA
54
字号
package mcaps.core.reporting.webapp.view;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.j2ee.servlets.ImageServlet;

import org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView;


/**
 * This class is used as a replacement of org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView
 * to handle the spring framework limitation that causes the images not displayed when exporting 
 * the report to HTML format. 
 * 
 * This class enable the viewing of report images in HTML format by setting the Jasper Print object
 * to the session object that was not done in org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView.
 * 
 * @author jov
 * @date May 30, 2006
 * @version 1.0.1.0
 */
public class JasperReportEnhancedMultiFormatView extends
		JasperReportsMultiFormatView {

	protected HttpServletRequest request;

	/* (non-Javadoc)
	 * @see org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
//	@Override
	protected void renderMergedOutputModel (Map map, HttpServletRequest request, HttpServletResponse response) throws Exception {
		this.request = request;
		// TODO Auto-generated method stub
		super.renderMergedOutputModel(map, request, response);
	}

	/* (non-Javadoc)
	 * @see org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView#postProcessReport(net.sf.jasperreports.engine.JasperPrint, java.util.Map)
	 */
//	@Override
	protected void postProcessReport (JasperPrint jasperPrint, Map map) throws Exception {
		this.request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
		jasperPrint);

		// TODO Auto-generated method stub
		super.postProcessReport(jasperPrint, map);
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?