2010-04-04 46 views
7

在grails應用程序中,我需要上傳一個文件在web-app/js下,添加一個前綴,並把它放在S3中。我很難弄清楚如何以開發(/ web-app/js)和製作(/ js)的方式讀取js文件。我從域對象內部執行此操作。閱讀文件格式的網絡應用程序

回答

8

在你的控制器,你可以撥打:

def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile() 

,然後用jsFolder進行。 要確定正在運行的Grails應用程序的根目錄,使用

String dir = applicationContent.getResource("/").getFile() 

從服務獲取JS路徑是有點棘手:

您需要實現ApplicationContextAware界面是這樣的:

class MyService implements ApplicationContextAware { 
ApplicationContext applicationContext 

但是,從域類調用此代碼並不是一個好主意(有關某些解釋,請參閱此thread),我甚至不確定是否有可能從手動獲取路徑配置

希望它有幫助。