actually, b) is true too.  the VVS does explicitly set the content type.

either way, you should extend the VVS.  the key method to override is
the setContentType(request, response) method.

to be able to tell what content type to set, you will want to push an
indicator (or the content type value itself) into the request
attributes, pull it out in your setContentType() impl and then call
response.setContentType() there.

On 6/8/07, Garey <[EMAIL PROTECTED]> wrote:
Nathan -

    I tried setting the content type from the template and no joy. I
also tried setting the content type in the response
from my logic before passing the request off to the VelocityViewServlet.
Also no go. I suppose that is because either a) the handoff to the
ViewServlet is a forward so the View servlet doesn't even see my partial
response, or b) the ViewServlet explicitly sets the content type. Since
a) is more probable, I will probably have to extend the ViewServlet.



Nathan Bubna wrote:
> On 6/8/07, Garey <[EMAIL PROTECTED]> wrote:
>> Nathan -
>>
>>     I'm using VelocityViewServlet, but this template produces an HTML
>> form if 'binds' is not defined. Is there a
>> way to set the content type from inside the template?
>
> hmm.  the VelocityViewServlet automatically puts the
> HttpServletResponse in the context as $response.  So you could try
> calling $response.setContentType('text/xsl') from within the template.
> But i'm a little skeptical that this will work, unless perhaps it
> happens in the template before any and all content that would be
> output written to the response's writer.  In other words, try it
> however is easiest.  If that doesn't work, try to make that the very
> first thing in the template.  If that doesn't work, you will probably
> need to create your own subclass of the VelocityViewServlet and
> override a few methods to dynamically set the content type before the
> template is processed.   If it comes to that, feel free to ask for
> more details on doing that. :)
>
>> Garey
>>
>>
>>
>> Nathan Bubna wrote:
>> > This sounds like an issue with the content-type your servlet (the one
>> > processing the template) is setting on the response.  Are you using
>> > the VelocityViewServlet or your own?  if the former, are you setting
>> > the 'default.contentType' property to 'text/xsl' in your
>> > velocity.properties?  If not, then the servlet is telling your browser
>> > that it's sending 'text/html' (which is the default).
>> >
>> > On 6/8/07, Garey <[EMAIL PROTECTED]> wrote:
>> >> Hi -
>> >>
>> >>     The subject kinda says it all. Here is a snippet of my template
>> >>
>> >>
>> >> <?xml version="1.0" encoding="UTF-8" ?>
>> >> <?xml-stylesheet type="text/xsl" href="bindings.xsl" ?>
>> >>
>> >> <BindReply>
>> >>
>> >>     <Count>${count}</Count>
>> >>
>> >> #foreach($bind in ${binds})
>> >>
>> >>     <BindStatus>
>> >>         <Status>${bind.statusString}</Status>
>> >>         <ARK>ark:/${bind.noid}</ARK>
>> >>         <Message>${bind.message}</Message>
>> >>     </BindStatus>
>> >>
>> >> #end
>> >>
>> >> </BindReply>
>> >>
>> >>
>> >>
>> >>     When this generates a page that is viewed by a browser, the
>> browser
>> >> does not apply the stylesheet. If, however,  I save the generated
>> page,
>> >> put it where I can access it via a web server and view it, the
>> template
>> >> is applied.
>> >>
>> >> Any suggestions on how to get the browser to apply a stylesheet to an
>> >> XML document generated by a Velocity template?
>> >>
>> >> Garey Mills
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> 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]
>


---------------------------------------------------------------------
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