我正在使用Rendering插件从Web Flow中生成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文件。有什么想法吗?
答案 0 :(得分:0)
如果不在Web流的上下文中,我假设此功能有效。我也注意到有些东西不像我期望的那样在网络流的最终状态。我不清楚为什么会这样,但是当我遇到这样的情况时,我通常会通过重定向到另一个动作来处理它。所以基本上只是将你的flow.letter
作为一个参数传递给webflow之外的另一个动作;这种方法为我解决了许多与webflow相关的问题。不幸的是,我目前无法访问我的代码,因为我似乎回想起在webflow结束时使用重定向时参数范围内的一些细微差别。如果你遇到问题,请在这里发布,我会看看。