2016-12-06 63 views
1

ActionクラスにCoverageInfoVO型の配列があり、jspからアクションクラスに値を送信したいが、マッピングされていない。配列の代わりにArrayListに切り替えるとうまくいきます。私の疑問は、JSPからStruts2のActionに配列を渡すことができないということですか?よりわかりやすいようにコードスニペットを追加しました。配列はjspから渡され、struts 2のアクションクラスの配列(arrayListではなく)にマップできますか?

JSP

<input type="text" name="coverageInfoList[0].month"> 

アクション

public class MyAction { 
    private CoverageInfoVO[] coverageInfoList; 

    public CoverageInfoVO[] getCoverageInfoList() { 
     return coverageInfoList; 
    } 

    public void setCoverageInfoList(CoverageInfoVO[] coverageInfoList) { 
     this.coverageInfoList = coverageInfoList; 
    } 

    ........ 
} 

CoverageInfoVO

public class CoverageInfoVO { 
    private String month; 
    private String enrollmentPremium; 
    private String secondLowestCostSilverPlanPremium; 
    private String advancePaymentOfPremiumTaxCredit; 

    public String getMonth() { 
     return month; 
    } 

    public void setMonth(String month) { 
     this.month = month; 
    } 

    ................... 
} 

答えて

1

最後に、私は把握することができますよjsp値の背後にある理由がオブジェクト配列にマップされていません。原因は、CoverageInfoVOが配列内で自動的に初期化されないため、コンストラクタ内で手動で初期化する必要があるため、値が自動的にマップされることです。

Ex。

public MyAction(){ 
    this.coverageInfoList = new CoverageInfoVO[13]; 
    for (int i = 0; i < coverageInfoList.length; i++) 
     this.coverageInfoList[i] = new CoverageInfoVO(); 
} 
関連する問題