如果我有一个静态资源(flash/blah.swf)的相对路径,以编程方式将其转换为绝对URL(http://localhost/app/flash/blah.swf)的最佳方式是什么?或者获取Wicket应用程序的基本URL的最佳方式是什么?我试过使用RequestUtils.toAbsolutePath,但它似乎并不可靠地工作,并经常抛出异常。这需要在应用程序部署到的所有服务器上运行。Wicket:相对于绝对URL或获取基址的URL
13
A
回答
8
RequestUtils.toAbsolutePath(RequestCycle.get().getRequest().
getRelativePathPrefixToWicketHandler());
为我工作。
0
org.apache.wicket.protocol.http.servlet.ServletWebRequest
有一个方法getRelativePathPrefixToContextRoot()
(实际上定义为超类中的抽象)。
标准的成语使用它是
RequestCycle.get().getRequest().getRelativePathPrefixToContextRoot() + location;
0
最后我用这样的添加base_url
属性扩展检票应用我MyApplication
下课。
MyApplication app = (MyApplication)getApplication();
String appBaseUrl = app.getBaseUrl();
if (StringUtils.isEmpty(appBaseUrl)) {
appBaseUrl = RequestUtils.toAbsolutePath(urlFor(app.getHomePage(), new PageParameters()).toString());
app.setBaseUrl(appBaseUrl);
}
// Add base URL to <script wicket:id="base_url"></script> to use with Flash
add(new Label("base_url", "base_url = \"" + appBaseUrl + "\";").setEscapeModelStrings(false));
1
检票1.5有信息here
12
检票六是
String absoluteUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse("my-relative-url.html"));
+1
这适用于检票口1.5也是 – 1ac0 2014-01-02 15:19:32
+3
而基本URL是'String baseUrl = RequestCycle.get()。getUrlRenderer()。getBaseUrl()。toString()' – 2014-10-22 20:53:23
相关问题
- 1. 获取网站根目录的基址(绝对/相对url)
- 2. 将相对URL应用于绝对URL
- 3. 相对URL绝对URL
- 4. 如何从java中的相对url获取绝对url
- 5. 确定绝对或相对URL
- 6. 更改相对URL绝对URL
- 7. URL重写和绝对/相对URL
- 8. 正则表达式验证绝对URL或相对URL
- 9. AJAX获取url相对于脚本
- 10. 如何获取绝对URL而不是相对的?
- 11. 在绝对和相对URL上下文中使所有URL绝对绝对
- 12. 力绝对URL(忽略基本URL)中
- 13. 从相对路径(重构方法)获取绝对URL
- 14. 绝对路径的相对URL
- 15. 绝对控制器中的相对URL
- 16. 相对URL的绝对文件路径
- 17. 获取Azure资源的绝对URL
- 18. 获取java中url的绝对路径
- 19. 用绝对路径URL替换相对路径网址
- 20. 绝对URL来自相对路径
- 21. 性能:绝对与相对URL
- 22. 性能:file_get_contents(),相对和绝对URL
- 23. 将相对URL转换为绝对
- 24. NodeJS url请求,绝对还是相对?
- 25. 相对和绝对URL与目录
- 26. 如何在python中获取绝对url
- 27. 在绝对网址和相对网址的javascript中获取
- 28. 将数组中的所有相对URL更改为绝对URL
- 29. wget相对url在shell中的绝对url
- 30. 基础URL打破相对URL
请注意,这并不在检票1.5,它没有单ARG工作'toAbsolutePath' – 2012-01-18 12:11:18