1

我正在使用渲染插件从 Web 流中生成 PDF。问题是我无法让我的最终状态返回 PDF 响应。如果我打电话:

renderPdf(template: "/letter/generate/createpdf", model: [letter: flow.letter], filename: 'doc.pdf')

在我的结束状态操作中,它仍然尝试返回结束状态视图。但是,我可以将其放入如下内容:

createpdf {
    action {
        renderPdf(template: "/letter/generate/createpdf", model: [letter: flow.letter], filename: 'doc.pdf')
        return
    }
    on("success").to "finish"
}

但是当然我得到一个:

java.lang.IllegalStateException: getOutputStream() has already been called for this response

我基本上希望我的最终状态返回 PDF 文件。有任何想法吗?

4

1 回答 1

0

如果它不在网络流的上下文中,我假设此功能有效。我还注意到,在 Web 流的最终状态下,有些事情并没有像我预期的那样工作。我不清楚这是为什么,但是当我遇到这样的情况时,我通常会通过重定向到另一个动作来处理它。所以本质上只是将你flow.letter作为参数传递给 webflow 之外的另一个动作;这种方法为我解决了许多与 webflow 相关的问题。不幸的是,我目前无法访问我的代码,因为我似乎记得在 Web 流结束时使用重定向时参数保持在范围内的一些细微差别。如果您遇到问题,请在此处发布,我会看看。

于 2010-09-23T18:11:59.943 回答