gpt4 book ai didi

java - Wicket 人类可读的 URL

转载 作者:行者123 更新时间:2023-12-02 00:25:53 24 4
gpt4 key购买 nike

在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com