1

我正在编写一个 wicket 1.5 应用程序,出于安全原因,我需要控制 url 的呈现方式。

mountPage("xxx/yyy", Zzzz.class)

非常适合,但我对为链接侦听器生成的 url 有问题。例如,如果我将以下链接添加到我的页面:

add(new Link<Void>("link-login") {
  @Override
  public void onClick() {
    setResponsePage(LoginPage.class);
  }
});

我获得以下生成的标记:

<a wicket:id="link-login" href="./home?0-1.ILinkListener-accessMenu-link~login">Login</a>

有没有办法配置生成的url(./home?0-1.ILinkListener-accessMenu-link~login)?至少,我想删除 ~ 字符。

编辑: 已解决...根据检票口工作人员的说法,生成的 href 使用“-”作为分隔符对检票口路径进行编码。如果检票口 id 包含“-”,它将被转换为“~”以避免冲突。因此,为了避免这种情况,只需从您的检票口 ID 中删除“-”即可。

4

1 回答 1

2

默认字符 - 保留为组件 ID 的分隔符。如果您担心安全性,您可以在这里查看https://cwiki.apache.org/confluence/display/WICKET/Request+mapping并尝试使用 CryptoMapper。

于 2012-09-19T10:26:26.970 回答