我一直在寻找但找不到文档:
有没有办法让页面在没有包装 HTML 元素的情况下呈现响应,并且只打印 tml 正文中提供的任何内容,或者在 @BeginRender 期间在 MarkupWriter.write 中设置的任何内容?
我需要一个页面来执行一些服务器端处理并返回纯 javascript 以供外部应用程序请求。
如果这是不可能的,是否可以将挂毯 Ioc 暴露给同一个应用程序中的 servlet?
谢谢,页。
我一直在寻找但找不到文档:
有没有办法让页面在没有包装 HTML 元素的情况下呈现响应,并且只打印 tml 正文中提供的任何内容,或者在 @BeginRender 期间在 MarkupWriter.write 中设置的任何内容?
我需要一个页面来执行一些服务器端处理并返回纯 javascript 以供外部应用程序请求。
如果这是不可能的,是否可以将挂毯 Ioc 暴露给同一个应用程序中的 servlet?
谢谢,页。
抱歉,ponzao,但我在挂毯邮件列表中找到了由 Thiago 提供的更好的解决方案:
public class MyPage
{
StreamResponse onActivate()
{
return new TextStreamResponse("text/plain", "some text");
}
}
这样您就不需要恢复到 servlet API 并且不需要 tml。
改编自此例如: http ://wiki.apache.org/tapestry/Tapestry5HowToCreateADynamicPDF
一种可能性是使用MarkupWriter.writeRaw
而不是MarkupWriter.write
in @BeginRender
。这是 API 文档的链接。
编辑:如果您不希望文档包含除文本内容之外的任何其他内容,这是实现此目的的一种方法。
@Inject
private Response response
void onActivate() throws IOException {
PrintWriter writer = response.getPrintWriter("text/html");
writer.append("foobar");
writer.close();
}