现在要学习的这个例子是调整page,即从一个page跳转到另外一个page。具体的实现效果如下所示,在homepage点击,进入另外一个page,然后又另外一个page又回到homepage。下面我们来看一下实现代码。
public class HomePage extends WebPage {
public HomePage() {
add(new Link<Void>("anotherPage"){
@Override
public void onClick() {
setResponsePage(AnotherPage.class);
}
});
}
}
对应的html代码
<!DOCTYPE html>
<html lang="en" xmlns:wicket="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Click here to go to another page.
<button wicket:id="anotherPage">Another page</button>
</body>
</html>
另外一个page
public class AnotherPage extends WebPage {
public AnotherPage() {
add(new Link<Void>("homePage"){
@Override
public void onClick() {
setResponsePage(HomePage.class);
}
});
}
}
以及html页面
<html lang="en" xmlns:wicket="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
Click here to go to home page.
<button wicket:id="homePage">Home page</button>
</body>
</html>
再来看一下应用
public class WicketApplication extends WebApplication {
@Override
public Class<? extends Page> getHomePage() {
return HomePage.class;
}
}
web.xml文件
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>wicket.AnnotationsRolesStrategyExample</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>demo.WicketApplication</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>wicket.AnnotationsRolesStrategyExample</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>