【问题标题】:How to get app path in grails?如何在grails中获取应用程序路径?
【发布时间】:2013-11-06 04:03:26
【问题描述】:

我想在我的应用程序中获取应用程序路径,但我没有找到任何方法。如果有人知道如何在我的应用程序中获取应用程序路径,那就太好了。

非常感谢,

【问题讨论】:

  • “应用程序路径”是当前实例的文件系统路径还是 url 路径?
  • 不,我需要文件系统路径。例如'c:\apps\'
  • 顺便说一句,你想如何使用这个路径?
  • 其实IO文件是需要的。
  • 你知道它通常是一个临时目录吗?它在每次重新启动时都会被删除,并且只包含您放入原始 WAR 的内容(因此您可以在不知道文件系统路径的情况下读取)

标签: grails groovy grails-2.0


【解决方案1】:

如果要获取应用程序的绝对路径,可以这样获取。

String applicationPath = request.getSession().getServletContext().getRealPath("")

它将为应用程序提供绝对路径。

【讨论】:

  • 在 Grails 3.0.6 中,这不再起作用。结果为 NULL。
  • 确实如此。 Grails 3.X 的解决方案是什么?
【解决方案2】:

I think , most of the time was difficult to find the path inside gsp. 但是,你可以使用这个

var path = "${resource()}"+"/mycontroller/myaction" ;

为您提供应用程序的路径。

Inside controller like when you need to upload file :

def webRootDir = servletContext.getRealPath("/")
def userDir = new File(webRootDir, "/payload/${session.user.login}")
userDir.mkdirs()
uploadedFile.transferTo( new File( userDir, uploadedFile.originalFilename))

【讨论】:

    【解决方案3】:

    复制到你的控制器中

    print webRequest.baseUrl
    

    【讨论】:

      猜你喜欢
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      • 2011-05-16
      • 2014-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多