1

OpenId4Javaを使用してアプリケーションをWicket1.5に移行しようとしています。移行ノートを使用して、すべてが機能するようになりました。

1つを除いて、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);
}
4

1 に答える 1

0

同じ問題については、http://apache-wicket.1842946.n4.nabble.com/Upgrade-1-5-PageParameters-toRequestParameters-tp3871781p3873818.htmlを参照してください。

最も近いのはorg.apache.wicket.request.mapper.parameter.PageParameters.getAllNamed()です。ヘルパー関数を記述して、マップに変換できます。

于 2011-11-07T19:12:53.767 に答える