这是关于浏览器中客户端分页的 NOT !
我的问题是我计划使用Freemarker作为模板引擎生成一个相当庞大的XML文件。根据我目前的知识,这意味着我需要立即将整组数据提供给模型,这需要机器中的大量RAM。
为了避免这种情况,我计划使用spring-data like so从数据库中读取分页数据。使用Page<T> findAll(Pageable pageable);
之类的东西应该可以解决以较小的比特获取源数据的问题。但是,如何生成文件呢?
有没有办法使用某种分页或将数据流式传输到Freemarker?
答案 0 :(得分:0)
您可以实现某种FreeMarker TemplateModel
。例如,您可以实现TemplateMethodModelEx
以将页面作为参数并返回您的数据。理论上这可以工作,FreeMarker渲染器只在需要时调用该方法,但我还没有测试过这种设置,所以无法确定。