我正在编写一个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>
有没有办法配置生成的网址(./home?0-1.ILinkListener-accessMenu-link~login
)?至少,我想删除〜字符。
修改 解决了...根据wicket工作人员,生成的href使用' - '作为分隔符对wicket路径进行编码。如果wicket id包含' - ',它将在'〜'中变换以避免冲突。所以为了避免这种情况,只需从你的wicket id中删除“ - ”。
答案 0 :(得分:2)
默认情况下,字符 - 保留为组件ID的分隔符。您可以在这里查看https://cwiki.apache.org/confluence/display/WICKET/Request+mapping并尝试使用CryptoMapper,如果您担心安全性。