2017-03-21 7 views
1

私のコレクションをList < Pair < Integer, String>>から対応するJSPに更新して、<s:TextFiedl>のリストを生成するイテレータを含むようにします。strutsを更新する方法2 TextFieldタグからのリスト

これは私のしたことですが、リストは空であるか、値がnullです。

処置:

public class ManageRegleArithmetiqueAction extends ActionSupport implements Preparable, JspDataPovider { 
    private List<Pair<Integer, String>> propositionNumLabelList = new ArrayList<Pair<Integer,String>>(); 

    public void setPropositionNumLabelList(List<Pair<Integer, String>> propositionNumLabelList) { 
    this.propositionNumLabelList = propositionNumLabelList; 
    } 

    public List<Pair<Integer, String>> getPropositionNumLabelList() { 
     return propositionNumLabelList; 
    } 

} 

JSP:

<s:iterator value="propositionNumLabelList" var="pair" status="status"> 
    <tr> 
    <td CLASS="IHMText"> 
    <s:textfield key="propositionNumLabelList[%{#status.index}].cle" id="%{'propositionNum_' + #status.index}" /> 
    </td> 
    <td CLASS="IHMText"> 
    <s:textfield key="propositionNumLabelList[%{#status.index}].valeur" id="%{'propositionLabel_' + #status.index}" /> 
    </td> 
    </tr> 
</s:iterator> 

対クラス:

public class Pair<S, T> implements Serializable { 


public Pair(S cle, T valeur) { 
    super(); 
    this.cle = cle; 
    this.valeur = valeur; 
} 


private static final long serialVersionUID = 7231580297094672707L; 

private S cle; 

private T valeur; 

public S getCle() { 
    return cle; 
} 

public void setCle(S cle) { 
    this.cle = cle; 
} 

public T getValeur() { 
    return valeur; 
} 

public void setValeur(T valeur) { 
    this.valeur = valeur; 
} 

public static <S, T> Pair<S, T> ofKeyAndValue(S cle, T valeur) { 
    return new Pair<S, T>(cle, valeur); 
} 
} 
+0

:(私はここにこだわっている私を助け –

答えて

1

あなたはPairクラスに既定のコンストラクタを追加する必要があります。それがなければ、Strutsはアクションのプロパティを設定するときにBeanをインスタンス化できません。 Strutsは、このプロパティが定義されているクラスをインスタンス化する方法を知っている場合、アクションのプロパティを設定できます。ネストされたプロパティを設定する必要がある場合も同様です。プロパティを初期化していない場合、その値を設定する前に、Strutsはデフォルトでクラスをインスタンス化します。

public Pair() { 
} 
+0

してくださいはい、私はそれが欠けていた、考え出した別の問題があります。キー=使用して「propositionNumLabelList [%{#のstatus.indexを}] CLEは」「を変換実行時に(実行時に)テーブルへの 'aven' valeur属性を解決するにはどうすればよいのでしょうか? –

+0

あなたが何を求めているのか分からないときは、別の質問を作成してください。 –

関連する問題