如何在已部署的grails应用程序中查找GSP文件的物理路径

如何在已部署的grails应用程序中查找GSP文件的物理路径,grails,Grails,我需要找出grailsgsp文件的物理路径 我的要求是,我想在运行时创建一个新的布局文件,并在应用程序中使用它 当应用程序在jetty(grails run app)上运行时,我能够毫无问题地实现这一点,但是,当我在Jboss上部署应用程序时,需要创建文件的路径会发生变化 因此,理想情况下,我希望在运行时使用一些神奇的实用程序找出特定GSP(比如main.GSP布局文件)的路径,并且我需要在main.GSP所在的同一目录中创建我的新布局 有什么建议吗 -Deepak下面是一些groovy代码,用

我需要找出grailsgsp文件的物理路径

我的要求是,我想在运行时创建一个新的布局文件,并在应用程序中使用它

当应用程序在jetty(grails run app)上运行时,我能够毫无问题地实现这一点,但是,当我在Jboss上部署应用程序时,需要创建文件的路径会发生变化

因此,理想情况下,我希望在运行时使用一些神奇的实用程序找出特定GSP(比如main.GSP布局文件)的路径,并且我需要在main.GSP所在的同一目录中创建我的新布局

有什么建议吗


-Deepak

下面是一些groovy代码,用于在生产环境中查找布局文件夹路径(例如,在jboss上部署为war时):


要使用新创建的布局,您可能需要重新启动web应用程序或容器,因为视图是在生产模式下更改的。

在控制器中,您可以使用

grailsAttributes.getApplicationContext().getResource("/relative/path/").getFile().toString()

有一个确定的方法

grailsApplication.parentContext.getResource("WEB-INF/grails-app/views/path/to/my.gsp").file.toString()
控制器不足(例如引导)?只要注射

def grailsApplication

致以最良好的祝愿

如果您执行“grails prod run war”,该代码会给您带来什么?您问这个问题是出于好奇吗?或者你知道它不起作用;)我必须承认我没有试过这个。对我来说,它曾用于部署和爆发战争。你想实现什么?我怀疑这在一个糟糕的web应用程序中并不是一个真正有意义的问题——毕竟,你实际上没有一个文件夹可以写入。
def grailsApplication