有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用Wicket的java URL分解

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

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

我找到了获取完整URL的方法(a、B、C):

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

以及一种获取上下文的方法(B):

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

有没有类似的方法来获取URL的(a)部分?还是我必须使用子字符串


共 (4) 个答案

  1. # 1 楼答案

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

    有一个java.net.URL对象,它解析url并允许单独访问它的任何部分。此外,您还可以将这些部分组合成一个新的url,并将其重新组合成url的字符串形式

    这取决于你在wicket中到底想要什么,也许有一种现成的方法可以用wicket来实现。你没有告诉我你的问题,只是告诉我一个可能的解决方案

  2. # 2 楼答案

    RequestCycle.get().getRequest().getUrl().get(Protocol|Host|Port)()
    
  3. # 3 楼答案

    你可以使用wickets RequestUtil.toAbsolutePath(String relativePagePath)

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

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