使用Wicket进行URL分解

时间:2011-10-25 11:52:06

标签: java url wicket

如何在Wicket中分解URL?我有以下网址:

http://www.example.com[:8080]/context/wicket/[bookmarkable/]WICKET-RELATED-URL
|---------------------------|-------|----------------------------------------|
              A                 B                       C

我找到了获取完整网址(A,B,C)的方法:

RequestCycle.get().getUrlRenderer().renderFullUrl(
  RequestCycle.get().getRequest().getUrl())

以及获得上下文(B)的方法:

RequestCycle.get().getRequest().getContextPath()

是否有类似的方法来获取URL的(A)部分?或者我必须使用子串?

4 个答案:

答案 0 :(得分:2)

不要使用正则表达式! ;)

有一个java.net.URL对象可以解析一个url,并允许分别访问它的任何部分。此外,您可以组合部件中的新网址并撰写网址形式的网址。

取决于你在wicket中究竟想要什么,也许有一个随时可用的方法用wicket来做。你还没有告诉你的问题,而只是关于可能的解决方案。

答案 1 :(得分:0)

您可以使用小门RequestUtil.toAbsolutePath(String relativePagePath)

根据JavaDoc,它“计算url相对于另一个绝对URL的绝对路径。”

我一直在使用'urlFor()'来生成放入邮件的链接,但只要您可以定义目标的相对路径,这应该是您的解决方案。

答案 2 :(得分:0)

RequestCycle.get().getRequest().getUrl().get(Protocol|Host|Port)()

答案 3 :(得分:-2)

Regular expressions可以满足您的要求