2009-08-16 3 views
2

私は自分のアクションEvent.javaにBeanを置いています。アクションはCallEventsです。私は、データは次のようになり、この場合、地図には(ユーザーがStruts2の複数選択フォームフィールドに追加し、アイテムのリストやマップを作成できるようにしたいと思います。マップでstruts2 <s:select multiple = "true">を渡すには

<struts2:select name="event.dj_map" label="Add DJs To Your Event" list="event.dj_map" listsize="5" multiple="true" headerKey="headerKey" required="true" headerValue="--- Please Select ---"> 

だから、最終的に私が知りたいのですが012.Javaなどのアクションに設定されたオブジェクト(例:Event.java)に名前、値のペアのマップとして複数のselectフィールド(例:Events.dj_map)を渡す方法

答えて

0

あなたができることは確かではありませんが、あなたのイベントクラスにこのコードがあれば、それはページの読み込み時にリストに載せられ、リスト付きで投稿されます:

public class Events { 

    private List dj_map = new ArrayList(); 

    public List getDj_map(){ 
     return dj_map; 
    } 

    public void setDj_map(List dj_map){ 
     this.dj_map = dj_map; 
    } 
} 

上記の作業が完了したら、dj_mapのタイプをマップに変更して、Strutsが正しく挿入しているかどうかを調べることができます。

スタイルノートでは、変数の名前は本当にdjMapにする必要がありますが、ちょっと、コードはまだ下線付きでうまく動作します。

0

のようになります真=複数との選択から生成されたHTTPリクエスト:名=オプション1 &名=オプション2 &名=オプション3など

Struts2のParametersInterceptorは、設定しようとすると、これをピックアップしますString []または任意の種類のコレクションのいずれかのプロパティ。

マップに提出するためには、上記の要求を考慮して、マップ内のキー/値に何を使用するかを知っておく必要があります(これは実際には不可能です)。

Struts2に複数のオプションをマップに直接提出させることはできません。

0

1))

public class Events { 

    private Map<Integer,Integer> dj_map = new HashMap<Integer,Integer>(); 

    public Map<Integer,Integer> getDj_map(){ 
     return dj_map; 
    } 

    public void setDj_map(Map<Integer,Integer> dj_map){ 
     this.dj_map = dj_map; 
    } 
} 

2:例えば、あなたのアクションでマップを定義マップの表記を使用してパラメータを渡します。

ここで#anyIntegerValueには、キーとして使用したい値を指定できます。

0

selectタグは、それがArrayListを経由して提出する必要があるマップ&で満たされている/アレイ

<s:select list="myMap" name="myArrayList" multiple="true"/> 

アクションは、上記

private Map<Integer,String> myMap; 
private List<Integer> myArrayList; 

のようになります。それが起こっているかのほんの一例です働く混乱があれば教えてください。

関連する問題