2016-12-06 4 views
1

У меня есть массив CoverageInfoVO в моем классе Action и вы хотите отправить значение из jsp в класс action, но он не отображается. Вместо массива Если я переключусь на ArrayList, он работает нормально. Я сомневаюсь, не можем ли мы передать массив из jsp в Action в struts2? Я добавил фрагмент кода для лучшей иллюстрации.Может ли массив передаваться из jsp и сопоставляться с массивом (а не с массивом) в классе действий в struts 2?

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(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^