Playframework 播放2.0,流媒体模板结果如何?

Playframework 播放2.0,流媒体模板结果如何?,playframework,playframework-2.0,Playframework,Playframework 2.0,使用模板生成响应时,将计算模板,然后发送结果 是否可以在构建响应时对模板的结果进行流式处理?流式处理通过一部分一部分地发送结果来工作,因此您的模板应该只构建响应的一部分 我假设您有一个枚举器[Part],其中Part是一个为结果部分建模的类型。例如,您可以从Web服务调用或数据库查询构建此枚举器 然后需要将这些响应部分转换为html部分。您可以使用枚举[Part,Html]来实现这一点 最后,使用HTTP结果的feed方法,并将枚举数与枚举数一起传递给它 以下是一个(未经测试的)示例,说明了上述

使用模板生成响应时,将计算模板,然后发送结果


是否可以在构建响应时对模板的结果进行流式处理?

流式处理通过一部分一部分地发送结果来工作,因此您的模板应该只构建响应的一部分

我假设您有一个
枚举器[Part]
,其中
Part
是一个为结果部分建模的类型。例如,您可以从Web服务调用或数据库查询构建此枚举器

然后需要将这些响应部分转换为html部分。您可以使用
枚举[Part,Html]
来实现这一点

最后,使用HTTP结果的
feed
方法,并将枚举数与枚举数一起传递给它

以下是一个(未经测试的)示例,说明了上述解释:

def stream=Action{implicit request=>
val流:枚举器[部分]=…
val toHtml=enumerate.map[Part]{Part=>
views.html.part(部分)
}
Ok.feed(流&>toHtml)
}

OK。所以要发送大量的响应,我必须将我的模板拆分为大量的模板。我的问题更多的是关于框架的改进。有没有可能有views.html。。。对象有返回此“提要”的apply方法吗?模板解析将由块来完成,但模板引擎将处理这个问题。您如何调用此模板?正如我现在所称:OK(views.html.mytemplate(params))。这里的概念要点是处理模板本身中生成的HTML块。正如你可以用php(flush/ob_u…)或rails(用flush/push的插件模板_u流媒体)实现的那样。必须将模板拆分为多个模板是一项艰巨的工作,在模板中处理@flush()将更为实际。从技术上讲,这是可能的,但不值得,因为似乎你要为分块付出代价。