jon 00/11/03 20:58:42
Modified: src/java/org/apache/velocity/servlet VelocityServlet.java
Log:
updated to latest JSP writer stuff
Revision Changes Path
1.14 +24 -5
jakarta-velocity/src/java/org/apache/velocity/servlet/VelocityServlet.java
Index: VelocityServlet.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/servlet/VelocityServlet.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- VelocityServlet.java 2000/11/04 03:08:51 1.13
+++ VelocityServlet.java 2000/11/04 04:58:42 1.14
@@ -60,6 +60,8 @@
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
+import java.util.Stack;
+
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
@@ -96,7 +98,7 @@
*
* @author Dave Bryson
* @author <a href="mailto:[EMAIL PROTECTED]">Jon S. Stevens</a>
- * $Id: VelocityServlet.java,v 1.13 2000/11/04 03:08:51 jon Exp $
+ * $Id: VelocityServlet.java,v 1.14 2000/11/04 04:58:42 jon Exp $
*/
public abstract class VelocityServlet extends HttpServlet
{
@@ -131,6 +133,11 @@
*/
private static final String INIT_PROPS_KEY = "properties";
+ /**
+ * Cache of writers
+ */
+ private static Stack writerStack = new Stack();
+
/**
* Performs initialization of this servlet. Called by the servlet
* container on loading.
@@ -206,7 +213,7 @@
{
ServletOutputStream output = response.getOutputStream();
String contentType = null;
- Writer vw = null;
+ JspWriterImpl vw = null;
try
{
@@ -234,10 +241,22 @@
if ( template == null )
throw new Exception ("Cannot find the template!" );
- //Writer vw = new BufferedWriter(new OutputStreamWriter(output));
- vw = new JspWriterImpl(response, 4*1024, true);
+ try
+ {
+ vw = (JspWriterImpl) writerStack.pop();
+ }
+ catch (Exception e)
+ {
+ // do nothing
+ }
+ if (vw == null)
+ vw = new JspWriterImpl(new OutputStreamWriter(output, encoding),
4*1024, true);
+ else
+ vw.recycle(new OutputStreamWriter(output, encoding));
template.merge( context, vw);
+ writerStack.push(vw);
+ //Writer vw = new BufferedWriter(new OutputStreamWriter(output));
}
catch (Exception e)
{
@@ -251,7 +270,7 @@
if (vw != null)
{
vw.flush();
- vw.close();
+ output.close();
}
}
catch (Exception e)
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/servlet ... jon
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... dlr
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... dlr
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... dlr
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jon
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... dlr
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jvanzyl
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... daveb
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jvanzyl
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jon
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jon
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jon
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jvanzyl
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... daveb
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... jvanzyl
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
- cvs commit: jakarta-velocity/src/java/org/apache/velocity/ser... geirm
