On Fri, Dec 21, 2012 at 4:39 PM, Paul Libbrecht <paul(a)hoplahup.net> wrote:
Thomas, all,
would I have a way to invoke velocity using the scope being run but
without the rendering?
I guess that would be the exact use case here and it is likely to be so
for other people; for example to generate xml documents, json documents...
Not sure I fully undertand what you ask, when you use
$xcontext.setFinished(true) you will get only when you wrote directly to
the output stream. I'm using it to generate translation packages in
l10n.xwiki.org for example.
thanks in advance.
paul
Le 20 déc. 2012 à 12:46, Paul Libbrecht a écrit :
great, that worked.
However, it means the velocity output is forgotten so I'd have to call
velocity at places where it makes sense.
I'm also caught by this kind of things, the "eat all exceptions" type of
approach of velocity is not a charm!
It's good to know as a strategy for the future.
paul
Le 20 déc. 2012 à 12:00, Thomas Mortagne a écrit :
> On Thu, Dec 20, 2012 at 11:00 AM, Paul Libbrecht <paul(a)hoplahup.net>
wrote:
>
>>>
>>> That's true but it does not prevent you to write directly in the
response
> if you want.
>
> Something like:
>
> ## Get the response buffer/stream
> #set($out = $response.outputStream())
>
> ## Write some content to the response buffer
> $out.print("some content")
>
> ## Make sure everything is sent
> $out.flush()
>
> ## Indicate XWiki that you already sent the answer
> $xcontext.setFinished(true)
Hey, we're getting closer!
How does this play with the velocity execution? Would its output be
discarded then?
I've tried this:
$response.setContentType("text/plain")##
#set($out = $response.outputStream())##
## Write some content to the response buffer
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")##
$out.println("some content")
## Make sure everything is sent
$out.flush()##
## Indicate XWiki that you already sent the answer
$xcontext.setFinished(true)##
and had only blank pages/
That's because you did not really wrote anything ;)
I made a mistake in my example, it's
#set($out = $response.outputStream)
without the parentheses.
Paul
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
--
Thomas Mortagne
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/users
--
Thomas Mortagne