2

私のアクションクラスには、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と想定してマップで何かを行うと、クラスキャストの例外が発生します。

マップに正しいタイプの値を設定するために支柱を取得するにはどうすればよいですか?助けてください。

4

1 に答える 1

1

解決しました!

属性はページからの書き込み専用であるため、ゲッターを提供しませんでした。ページが読み込まれるときに属性の値がありません。私は(必死の手段として)ゲッターを追加しました、そしてそれは問題を解決しました!誰だ?!:-)

于 2012-04-07T19:47:44.153 に答える