java - Wicket 人类可读的 URL

标签 java html url wicket

在 ASP.NET MVC 之后开始学习 Wicket,对管理其 URL 感到有点困惑。代码如下:

应用:

package com.test.wicketapp1;

import org.apache.wicket.protocol.http.WebApplication;

public class WicketApplication extends WebApplication {
    public WicketApplication() {
        mountPage("/page1", HomePage.class);
        mountPage("/page2", Page2.class);       
    }

    @Override public Class<HomePage> getHomePage() {
        return HomePage.class;
    }
}

主页:

package com.test.wicketapp1;

import java.io.IOException;

import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.WebPage;

public class HomePage extends WebPage {
    private static final long serialVersionUID = 1L;

    public HomePage(final PageParameters parameters) throws IOException {
        BookmarkablePageLink<Page2> bookmarkablePageLink = new BookmarkablePageLink<Page2>("gopage2link", Page2.class);
        add(bookmarkablePageLink);
    }
}

主页标记:

<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
    <head>
        <title>Apache Wicket Quickstart</title> 
    </head>
    <body>
        <a href="#" wicket:id="gopage2link">go page 2</a>
    </body>
</html>

我想要的很简单。我预计会有 2 个 url:HomePage.class 的“/page1”和 Page2.class 的“/page2”,然后我的 HomePage 有一个导航到 Page2 的链接,当呈现 HomePage 时,该链接的 URL 应该为“/page2”。

当我运行应用程序并转到主页时,它的呈现如下:

<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
    <head>
        <title>Apache Wicket Quickstart</title> 
    </head>
    <body>
        <a href="./wicket/bookmarkable/com.test.wicketapp1.Page2" wicket:id="gopage2link">go page 2</a>
    </body>
</html>

我希望有这样的东西:

<a href="/page2" wicket:id="gopage2link">go page 2</a>

相反。我错过了什么?

最佳答案

问题是 - 我应该使用应用程序的 init 方法而不是 ctor 来定义映射。

关于java - Wicket 人类可读的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10062096/

相关文章:

java - 创建对象枚举

java - 什么是 Java/Android 中的 View 注入(inject)?

java - 如何获取bukkit版本?

javascript - 如何在不实际最小化浏览器窗口的情况下在全屏桌面 View 上显示 react.js 组件的 css 移动 View 分辨率?

jquery - 为什么添加 "helper: "clone";"到这个 ui-draggable 元素会阻止它被拖动?

java - Java 中的 URL : Why does the String part after "+" not be considered?

java - 如何使用 IRequestHandler 提供 AbstractResource 服务

html - 我怎样才能使 CSS 仅在元素上不存在另一个类时才使用一个类?

Java URL java.net.ConnectException 错误(Ping 有效,其他 URL 有效)

url - 从 elasticsearch 查询创建一个 Kibana URL