3

我一直在寻找但找不到文档:

有没有办法让页面在没有包装 HTML 元素的情况下呈现响应,并且只打印 tml 正文中提供的任何内容,或者在 @BeginRender 期间在 MarkupWriter.write 中设置的任何内容?

我需要一个页面来执行一些服务器端处理并返回纯 javascript 以供外部应用程序请求。

如果这是不可能的,是否可以将挂毯 Ioc 暴露给同一个应用程序中的 servlet?

谢谢,页。

4

2 回答 2

5

抱歉,ponzao,但我在挂毯邮件列表中找到了由 Thiago 提供的更好的解决方案:

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

这样您就不需要恢复到 servlet API 并且不需要 tml。

改编自此例如: http ://wiki.apache.org/tapestry/Tapestry5HowToCreateADynamicPDF

于 2010-05-26T23:06:12.383 回答
2

一种可能性是使用MarkupWriter.writeRaw而不是MarkupWriter.writein @BeginRender是 API 文档的链接。

编辑:如果您不希望文档包含除文本内容之外的任何其他内容,这是实现此目的的一种方法。

@Inject
private Response response

void onActivate() throws IOException {
    PrintWriter writer = response.getPrintWriter("text/html");
    writer.append("foobar");
    writer.close();
}
于 2010-05-26T04:22:13.227 回答