【发布时间】:2019-03-02 07:24:46
【问题描述】:
我正在尝试使用grails rending plugin 在 Grails 中生成 PDF。
运行gradle bootRun时以下将起作用
class DocumentService {
def generatePdf() {
// ...
ByteArrayOutputStream stream = pdfRenderingService.render(
template : 'template_name',
model : [ name : 'taylor' ],
controller : 'controllerName'
)
}
}
但是,当部署在 tomcat8 上时。
grails.plugins.rendering.document.UnknownTemplateException: Could not find template for 'template_name'
at grails.plugins.rendering.document.XhtmlDocumentService.createTemplate(XhtmlDocumentService.groovy:102)
at grails.plugins.rendering.document.XhtmlDocumentService$_generateXhtml_closure1.doCall(XhtmlDocumentService.groovy:66)
at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:70)
at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:60)
at grails.plugins.rendering.document.XhtmlDocumentService.generateXhtml(XhtmlDocumentService.groovy:65)
at grails.plugins.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:35)
at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:36)
at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:35)
【问题讨论】:
-
您是否尝试过命名模板的驼峰式表示法?例如
templateName。还要检查这个类的实际代码:github.com/gpc/rendering/blob/master/grails-app/services/grails/… -
感谢@Michal_Szulc 的回复,将模板名称更改为驼峰式大小写无效。我一直在阅读源代码并遵循文档。