java Wicket 1.5页面参数为空
我是一个经验丰富的Wicket用户,但我正在第一次尝试1.5,mountPage()语法正在击败我
很明显,我做错了什么,因为我无法对有同样问题的人的任何一个引用进行罚款。下面是:
这就是我的init()方法:
@Override
public void init()
{
super.init();
System.out.println("mounting: /requirement/${id}");
mountPage("/requirement/${id}", RequirementPage.class);
}
我已经通过将“需求”部分更改为其他内容并返回,验证了这一点。这是(唯一)RequirementPage的构造函数:
public RequirementPage()
{
try
{
PageParameters params = getPageParameters();
System.out.println("named keys: " + params.getNamedKeys());
System.out.println("index keys: " + params.getIndexedCount());
StringValue value = params.get("id");
System.out.println("requirement: " + value);
在我的服务器控制台(Jetty8)中,我在启动时看到:
mounting: /requirement/${id}
当我向/requirement/0发出请求时,我看到:
named keys: []
index keys: 0
requirement: null
我看过很多东西,我看不出我所做的与维基或其他例子所显示的有什么不同
感谢您的帮助
谢谢
-詹姆斯
# 1 楼答案
您需要为Wicket提供一个带有PageParameters的构造函数,否则Wicket不可能包装这些参数并将其提供给页面
除此之外,您可以通过
getRequestCycle().getRequest().getRequestParameters()
访问requestparameters,而无需使用带有pageparameters的构造函数,但只要您希望wicket管理和装载页面和参数,并使其可作为书签,就必须提供默认构造函数,无论是否带有pageparameters,根据您是否需要接收参数# 2 楼答案
你可以试试这个
然后像这样调用url“http://localhost:8080/requrement?id=111“然后你可以通过构造器获得id。但是你可以像这样使用网页构造器