Thanks Kishore, also good points which I've also added to that page:

 http://www.niallp.pwp.blueyonder.co.uk/emailTemplate.html

Niall

----- Original Message ----- 
From: "Kishore Senji" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <user@struts.apache.org>
Sent: Wednesday, January 26, 2005 1:07 AM
Subject: Re: OT - Evaulating JSP as internal template?


> Not anything new, but we can also increase the buffer size
>
> <%@ page buffer="10kb" autoFlush="false" %><%@ taglib
> uri="/WEB-INF/struts-bean.tld"  prefix="bean"  %><bean:define
> id="emailStuff" toScope="request">
>
>       <html>
>          <body>
>              <h1><bean:write name="emailHeading"/></h1>
>              <p><bean:write name="emailBody"/></p>
>          </body>
>       </html>
>
>    </bean:define>
>
>
> Also, if you define your action to extend IncludeAction, then by
> having the path to template in the "parameter"
> you could have the call to RequestDispatcher delegated to
> IncludeAction like so :
>
> public ActionForward execute(ActionMapping mapping,
>                              ActionForm form,
>                              HttpServletRequest request,
>                              HttpServletResponse response) throws
Exception {
>
>         // Set up attributes used by the template
>         request.setAttribute("emailHeading", "Test Heading");
>         request.setAttribute("emailBody", "This is some body text");
>
>         super.execute(mapping, form, request, response); // generate email
>
>         // Get the generated email from the request attribute
>         String emailStuff = (String)request.getAttribute("emailStuff");
>
>         // ...send the email
>
>         // forward to appropriate page
>         return mapping.findForward("success");
>
> }
>
>
>
>
>
> On Tue, 25 Jan 2005 19:00:35 -0000, Niall Pemberton
> <[EMAIL PROTECTED]> wrote:
> > Good points Kris,
> >
> > hope you don't mind, but I added your comments to the page I set up
> > (although I slightly modified the whitespace *hack*).
> >
> > http://www.niallp.pwp.blueyonder.co.uk/emailTemplate.html
> >
> > Niall
> >
> > ----- Original Message -----
> > From: "Kris Schneider" <[EMAIL PROTECTED]>
> > To: "Struts Users Mailing List" <user@struts.apache.org>
> >
> > Sent: Tuesday, January 25, 2005 4:32 PM
> > Subject: Re: OT - Evaulating JSP as internal template?
> >
> > > For the paranoid, you probably want to be sure that the email template
> > > ("EmailTestTemplate.jsp") doesn't actually produce any output. Because
> > you're
> > > doing an include followed by a forward, there's a *possibility* that
the
> > > forward will throw an IllegalStateException if the include causes the
> > response
> > > to be committed. You can use one of the various JSP whitespace "hacks"
to
> > > help:
> > >
> > > <%@ taglib uri="http://struts.apache.org/tags-bean"; prefix="bean"
%><%--
> > >
> > > --%><bean:define id="emailStuff" toScope="request">
> > >   ...
> > > </bean:define>
> > >
> > > Obviously, the example is unlikely to cause a problem, but a more
involved
> > page
> > > might.
> > >
> > > Another approach might be to pass an HttpServletResponseWrapper to the
> > include
> > > method whose output stream (or writer) just buffers the entire
response
> > for
> > > later retrieval.
> > >
> > > Quoting Niall Pemberton <[EMAIL PROTECTED]>:
> > >
> > > > You can do this easily using the <bean:define> tag and the
> > > > RequestDispatcher. I've put a page up on my web site showing how:
> > > >
> > > > http://www.niallp.pwp.blueyonder.co.uk/emailTemplate.html
> > > >
> > > > I believe the RequestDispatcher is the "magic" JSP processor you're
> > looking
> > > > for.
> > > >
> > > > Niall
> > > >
> > > > ----- Original Message -----
> > > > From: "William Stranathan" <[EMAIL PROTECTED]>
> > > > To: "Struts Users Mailing List" <user@struts.apache.org>
> > > > Sent: Tuesday, January 25, 2005 11:00 AM
> > > > Subject: OT - Evaulating JSP as internal template?
> > > >
> > > >
> > > > > The subject is prolly a poor way to say what I'm trying to say....
> > > > >
> > > > > Does anybody know of a simple way to use JSP as an INTERNAL
templating
> > > > > engine.  For example, if I have a struts application where I'm
> > > > > generating an email to send, I currently have to use Velocity on
the
> > > > > server side to put the values into the template, then send that.
> > > > >
> > > > > Is there a simple way to do the same with JSP?  Would I be best
served
> > > > > by on the server side, constructing an HTTP request to a JSP that
> > simply
> > > > > pops in the request attributes into the correc place?
> > > > >
> > > > > High-level of what I want to do:
> > > > >
> > > > > ActionForward execute(mapping, form, request, response) {
> > > > >    MyForm myform = (MyForm)form;
> > > > >
> > > > >    Hashtable vals = new Hashtable();
> > > > >    vals.put("user",form.getUser());
> > > > >    vals.put("car",form.getCar());
> > > > >
> > > > >    JSPProcessor proc = new JSPProcessor();
> > > > >    proc.getRequestScope().put("values",vals);
> > > > >    StringBuffer buff =
proc.evaluate("WEB-INF/templates/email.jsp");
> > > > >
> > > > >    MailUtils.mail("[EMAIL PROTECTED]",buff);
> > > > > }
> > > > >
> > > > > Where JSPProcessor is the kind of magic I'm looking for.  I don't
> > really
> > > > > see anything built into the API spec, so I SUSPECT if there were
> > > > > anything available in Tomcat, for instance, it would be
implementation
> > > > > specific.
> > > > >
> > > > > Not a HUGE deal, but it's kinda' a pain to have to train new folks
on
> > > > > how to put together the JSP's AND how to put together the velocity
> > > > > templates.
> > > > >
> > > > > Thanks,
> > > > > Will
> > >
> > > --
> > > Kris Schneider <mailto:[EMAIL PROTECTED]>
> > > D.O.Tech       <http://www.dotech.com/>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to