开发者

tapestry5 page to render plain text

I've been looking but can't find the the documentation:

Is there a way to have a page render a response without the wrapping HTML elements and just print whate开发者_C百科ver is provided in the body of the tml or alternatively whatever is set in MarkupWriter.write during @BeginRender?

I need a page that does some server side processing and returns pure javascript for an external application to request.

If that is impossible, is it possible to expose the tapestry Ioc to a servlet in the same app?

Thanks, p.


Sorry ponzao, but i found a better solution courtesy of Thiago on the tapestry mail list:

public class MyPage
{
    StreamResponse onActivate()
    {
        return new TextStreamResponse("text/plain", "some text");
    }
}

this way you don't need to revert to the servlet API and don't need a tml.

adapted from this eg: http://wiki.apache.org/tapestry/Tapestry5HowToCreateADynamicPDF


One possibility is to use MarkupWriter.writeRaw instead of MarkupWriter.write in @BeginRender. Here is a link to the API documentation.

Edit: If you don't want the document to contain anything else except your text content here is one way to achieve this.

@Inject
private Response response

void onActivate() throws IOException {
    PrintWriter writer = response.getPrintWriter("text/html");
    writer.append("foobar");
    writer.close();
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜