我需要找出grails GSP文件的物理路径.
我的要求是我想在运行时创建一个新的布局文件,并在应用程序中使用它.
当应用程序在jetty(grails run-app)上运行时,我能够毫无问题地实现这一点,但是,当我在Jboss上部署应用程序时,需要创建文件的路径会发生变化.
所以,理想情况下我想在运行时使用一些神奇的实用程序找到特定GSP的路径(比如说main.gsp布局文件),我需要在main.gsp所在的同一目录中创建我的新布局.
有什么指针吗?
-Deepak
下面是一些用于在生产环境中查找布局文件夹路径的groovy代码(例如,在jboss上部署为war时):
import org.codehaus.groovy.grails.commons.ApplicationHolder ... File layoutFolder = ApplicationHolder.application.parentContext.getResource("WEB-INF/grails-app/views/layouts").file def absolutePath = layoutFolder.absolutePath println "Absolute Path to Layout Folder: ${absolutePath}" File newLayoutFile = new File(layoutFolder, "foo.gsp")
要使用新创建的布局,您可能需要重新启动Web应用程序或容器,因为视图在生产模式下被加载.