我正在尝试将使用 OpenId4Java 的应用程序迁移到 Wicket 1.5。使用迁移说明,我已经完成了所有工作。
除了一件事:在 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);
}