在哪里可以存储Grails应用程序的Excel模板资源

时间:2014-08-20 15:43:52

标签: tomcat grails resources

我试图通过控制器中的字符串URL访问Excel模板。

  1. 我应该在Grails项目中放置Excel模板的目录是什么? (即WEB-INF,grails-app / assets等),
  2. 将它打包为.war并将其放入Tomcat 7容器后,URI将是什么?
  3. 修改

    我正在使用

    def wb = new WebXlsxExporter("/path/to/excel/template")
    

    这需要存储文件的字符串URL。

2 个答案:

答案 0 :(得分:2)

所以我找到了答案...... ExcelTemplates文件夹位于web-app文件夹中。要获取URL而没有收到文件未找到错误我使用

request.getSession().getServletContext().getRealPath(.....)
---------
//Which looks like this when implemented

def wb = new WebXlsxExporter(request.getSession().getServletContext().getRealPath("/ExcelTemplates/testTemplate.xlsx"))

当编译成战争并置于Tomcat 7 / webapp目录中时,一切都很有效!

答案 1 :(得分:1)

您可以将它们放在web-app目录下。然后,您可以使用以下代码作为InputStream来获取它们。

private byte[] getLogoBytes() {
    InputStream logo = servletContext.getResourceAsStream('/images/logo.png')
    return logo.getBytes()
}