如何在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)部分?或者我必须使用子串?
答案 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可以满足您的要求