Wicket:相对于绝对URL或获取基本URL

Gil*_*ean 13 java url wicket

如果我有静态资产的相对路径(flash/blah.swf),那么以编程方式将其转换为绝对URL(http://localhost/app/flash/blah.swf)的最佳方法是什么?或者获取Wicket应用程序的基本URL的最佳方法是什么?我已经尝试过使用RequestUtils.toAbsolutePath但它似乎不能可靠地运行并经常抛出异常.这需要在部署应用程序的所有服务器上运行.

Man*_*art 13

对于Wicket 6来说

String absoluteUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse("my-relative-url.html"));
Run Code Online (Sandbox Code Playgroud)

  • 基本URL是`String baseUrl = RequestCycle.get().getUrlRenderer().getBaseUrl().toString()` (4认同)

小智 8

RequestUtils.toAbsolutePath(RequestCycle.get().getRequest().
  getRelativePathPrefixToWicketHandler());
Run Code Online (Sandbox Code Playgroud)

为我工作.

  • 请注意,这在Wicket 1.5中不起作用,Wicket 1.5没有单个arg`toAbsolutePath` (3认同)