Iva*_*gin 2 java grails groovy
所以我有一些.drlt文件(普通的txt文件,作为规则引擎的模板),我需要读取它们并在应用程序的bootstrap中放入一些静态字符串变量.
我只是想不通哪里把它放在Grails应用程序以及如何阅读它们.
我已经尝试将它们放到src/java并从src/grails,域,服务等读取它们.这些都没有用.唯一有效的方法是将它放入grails-app/conf并按如下方式读取它们:
def classLoader = Thread.currentThread().contextClassLoader
def fileReader = classLoader.getResourceAsStream('my-file.drlt').newReader()
Run Code Online (Sandbox Code Playgroud)
但我不想把我的模板文件放在config目录中.我已经阅读了很多关于这个问题的帖子和"解决方案",但不是很好的解决方案.是否真的有可能在Grails这样一个稳定的框架中做得不好?
谢谢你的帮助,伊万
由于Grails是一个结构良好的Spring应用程序,因此您可以利用Resource
并ResourceLoader
加载文本文件.在grailsResourceLocator
使用这些非常简单的品牌(请务必将其注入到你的bean).使用这些类,您可以在src/java
或src/groovy
目录中找到您的文件,并将其视为任何其他类资源.
因此,例如,如果您的文件在,src/java/com/example/textfile.txt
那么您可以将其作为File
使用来访问grailsResourceLocator.findResourceForURI('classpath:/com/example/textfile.txt').getFile()
可以在此博客文章中找到详细示例,Resource的API文档也可以提供帮助.
这是处理Grails应用程序中的资源的正确方法.
归档时间: |
|
查看次数: |
2000 次 |
最近记录: |