org.springframework.web.servlet.view.document
Class AbstractPdfView
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.document.AbstractPdfView
- All Implemented Interfaces:
- ApplicationContextAware, BeanNameAware, View
- public abstract class AbstractPdfView
- extends AbstractView
Abstract superclass for PDF views, using Bruno Lowagie's
iText package. Application-specific view classes will extend this class.
The view will be held in such a subclass, not a template such as a JSP.
See Expert One-On-One J2EE Design and Development
by Rod Johnson, pp 571-575 for an example of use of this class.
NB: Internet Explorer requires a .pdf extension, as
it doesn't always respect the declared content type.
Exposes page width and height as bean properties.
- Version:
- $Id: AbstractPdfView.java,v 1.8 2004/03/18 02:46:18 trisberg Exp $
- Author:
- Rod Johnson, Jean-Pierre Pawlak
Method Summary |
protected abstract void |
buildPdfDocument(java.util.Map model,
com.lowagie.text.Document pdfDoc,
com.lowagie.text.pdf.PdfWriter writer,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Subclasses must implement this method to create an iText PDF document,
given the model. |
protected com.lowagie.text.Document |
getDocument()
Return a new com.lowagie.text.Document.
|
protected int |
getViewerPreferences()
Return the ViewerPreferences.
|
protected void |
renderMergedOutputModel(java.util.Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Subclasses must implement this method to actually render the view.
|
Methods inherited from class org.springframework.web.servlet.view.AbstractView |
addStaticAttribute, getBeanName, getContentType, getStaticAttributes, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractPdfView
public AbstractPdfView()
- Sets the appropriate content type.
Note that IE won't take much notice of this, but there's not a lot we
can do about this. Generated documents should have a ".pdf" extension.
renderMergedOutputModel
protected final void renderMergedOutputModel(java.util.Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.lang.Exception
- Description copied from class:
AbstractView
- Subclasses must implement this method to actually render the view.
The first step will be preparing the request: In the JSP case,
this would mean setting model objects as request attributes.
The second step will be the actual rendering of the view,
for example including the JSP via a RequestDispatcher.
- Specified by:
renderMergedOutputModel
in class AbstractView
- Parameters:
model
- combined output Map, with dynamic values taking
precedence over static attributesrequest
- current HTTP requestresponse
- current HTTP response
- Throws:
java.lang.Exception
- if rendering failed
getDocument
protected com.lowagie.text.Document getDocument()
- Return a new com.lowagie.text.Document.
By default return an A4 document, but the subclass can set anything else or retrieve from properties.
- Returns:
- the new created Document
getViewerPreferences
protected int getViewerPreferences()
- Return the ViewerPreferences.
By default return AllowPrinting and PageLayoutSinglePage, but can be subclassed.
The subclass can either fix the preferences or retrieve them from the bean properties.
- Returns:
- an int containing the bits information against PdfWriter definitions.
buildPdfDocument
protected abstract void buildPdfDocument(java.util.Map model,
com.lowagie.text.Document pdfDoc,
com.lowagie.text.pdf.PdfWriter writer,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.lang.Exception
- Subclasses must implement this method to create an iText PDF document,
given the model.
- Parameters:
request
- in case we need locale etc. Shouldn't look at attributesresponse
- in case we need to set cookies. Shouldn't write to it.
- Throws:
java.lang.Exception
Copyright (C) 2003-2004 The Spring Framework Project.