可以访问配置文件中的applicationContext吗?!
我要做的是获取应用的完整路径(服务器路径)!
我想要的是:
/usr/tomcat/myapp/web-inf
答案 0 :(得分:1)
如果@ Ben的getRealPath()解决方案不能解决问题,请尝试根据catalina base属性拼凑绝对路径:
def path = System.getProperty("catalina.base") + 'relative/path/to/app'
答案 1 :(得分:0)
也许我误解了您的问题,但我想您正在尝试检索与此类似的网络应用程序的网址:http://localhost:8080/myawesomeapp
。 Config.groovy
有一个内置选项grails.serverURL,但这不会为您提供Web应用程序子上下文。结果将是http://localhost:8080
。我不知道一个不同的选项,它也会为您提供完整的Web应用程序上下文URL。
或者,您始终可以在Grails控制器中使用这样的方法,为您提供完整的Web应用程序URL:
def getContextUrl(HttpServletRequest httpServletRequest) {
String scheme = httpServletRequest.scheme
String serverName = httpServletRequest.serverName
int serverPort = httpServletRequest.serverPort
String contextPath = httpServletRequest.contextPath
def url = new StringBuilder()
url <<= '://'
url <<= serverName
if(serverPort && serverPort != 80) {
url <<= ':'
url <<= serverPort
}
url.toString()
}