我正在尝试使用OpenId4Java将应用程序迁移到Wicket 1.5。使用migration notes我已经完成了所有工作。
除了一件事:在Wicket 1.5 PageParameters之前是一张完美的地图,因为OpenId4Java的ParameterList将地图作为参数。
然而在Wicket 1.5中,我无法弄清楚如何从PageParameters中获取地图。 通过PageParameters NamedPairs并制作一张地图并不难。但是创建一个类(在几个地方创建一个ParameterLists)并不是一个好的解决方案。
对此更简单的解决方案是什么?
ParameterList response = new ParameterList( pageParameters);
- 编辑 - 代码解决了我的问题。
public static ParameterList toParameterList(PageParameters p){
HashMap<String, String> h = new HashMap<String, String>();
for(NamedPair pair: p.getAllNamed()){
h.put(pair.getKey(), pair.getValue());
}
return new ParameterList(h);
}
public static ParameterList toParameterList(IRequestParameters rP) {
HashMap<String, String> h = new HashMap<String, String>();
for(String name : rP.getParameterNames()){
h.put(name, rP.getParameterValue(name).toString());
}
return new ParameterList(h);
}
答案 0 :(得分:0)
最接近的是org.apache.wicket.request.mapper.parameter.PageParameters.getAllNamed()您可以编写一个帮助函数将其转换为Map