私のアクションクラスには、Map<Long, Set<String>>
accountsMapという名前の属性があります。私が取得するキー値が100、101、102であるとしましょう。POSTパラメータが次のようになるようにJSPでチェックボックスをコーディングしました。
accountsMap[100]=string1
accountsMap[100]=string2
accountsMap[101]=string3
accountsMap[101]=string4
accountsMap[102]=string5
したがって、結果のマップには、キー100、101、102の3つのエントリが含まれている必要があります。キー100のマップエントリには、値として2つの文字列(string1とstring2)のセットが必要です。あなたがアイデアを得ることを願っています。
ページを送信すると、ストラットからアクションでデータが入力されたマップを取得します。しかし、マップのジェネリック情報は破棄されたようです。まず、マップのキーは整数型であり、元のマップが期待するほど長くはありません。次に、マップの値はタイプString[]
です。ではありませんSet<String>
。Strutsはセッターを使用してこれらの値を設定できますが、キータイプをLong、値タイプをSetと想定してマップで何かを行うと、クラスキャストの例外が発生します。
マップに正しいタイプの値を設定するために支柱を取得するにはどうすればよいですか?助けてください。