如何获取 Google App Engine 上的实际 URI?
我正在使用 Gaelyk 0.7 和 GAE 1.5,并尝试在控制器/视图中获取请求 URI:
${request.uri}
这在本地工作正常,但是 org.mortbay.jetty.Request.getUri()
确实如此生产中似乎不支持。
当我到达 /some/path
时,我希望得到 '/some/path'
作为 URI,但是 ${request.requestURI}
给了我类似'/index.groovy'
。
有什么解决方法吗?
I'm using Gaelyk 0.7 with GAE 1.5, and I'm attempting to get the request URI in controllers/views:
${request.uri}
That works fine locally, however org.mortbay.jetty.Request.getUri()
does not seem supported in production.
When I reach /some/path
I expect to get '/some/path'
as URI, but ${request.requestURI}
gives me something like '/index.groovy'
.
Is there any workaround for this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
获取请求URI的servlet API方法是getRequestURI(),实际上不是Jetty特有的getUri(),所以使用前者比后者更好。
至于返回的路径,我不确定您是否可以获取在浏览器中看到的真实路径,而是获取重定向或转发后使用的真实路径 - 但我在这里不是 100% 确定。
另外,请不要犹豫加入 Gaelyk Google Group,因为我不监控 stackoverflow 的 Gaelyk 支持。
编辑:在 Gaelyk 1.0 中,您可以在重定向或转发之前执行 request.originalURI 来获取真实路径。
The servlet API method for getting the request URI is getRequestURI(), indeed not Jetty's specific getUri(), so it's better to use the former than the later.
As for the path returned, I'm not sure you can get the real path you see in the browser, and instead get the real path that's used after the redirect or forward -- but I'm not 100% sure here.
Also, don't hesitate to join the Gaelyk Google Group instead, as I don't monitor stackoverflow for Gaelyk support.
Edit: in Gaelyk 1.0, you can do request.originalURI to get the real path before the redirect or forward.