Ik heb al even geen project meer met Struts gerealiseerd, en loop nu tegen een probleem met indexed properties.
In mijn formbean (scope=request) heb ik een array gedefinieerd, met bijhorende getters/setters
In mijn JSP cache ik de geselecteerde waarden uit het vorige scherm:
Als ik op deze JSP een submit uitvoer, dan krijg ik een NullPointerException voor m'n neus omdat de array niet correct geïnitialiseerd wordt door Struts. Dit is toch de verantwoordelijkheid van Struts?
Als ik de array hard initialiseer bij declaratie op 100, dan gaat het uiteraard wel goed; maar dit wil je niet echt in je code hebben zitten
Iemand een idee hoe ik dit kan oplossen?
In mijn formbean (scope=request) heb ik een array gedefinieerd, met bijhorende getters/setters
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| private Integer[] selectedPersons; // ... public Integer[] getSelectedPersons() { return selectedPersons; } public void setSelectedPersons(Integer[] selectedPersons) { this.selectedPersons= selectedPersons; } public Integer getSelectedPersonsIndexed(int index) { return selectedPersons[index]; } public void setSelectedPersonsIndexed(int index, Integer value) { selectedPersons[index] = value; } |
In mijn JSP cache ik de geselecteerde waarden uit het vorige scherm:
XML:
1
2
3
| <logic:iterate id="persons" name="insuranceForm" property="selectedPersons" indexId="i"> <html:hidden property="selectedPersonsIndexed[${i}]"/> </logic:iterate> |
Als ik op deze JSP een submit uitvoer, dan krijg ik een NullPointerException voor m'n neus omdat de array niet correct geïnitialiseerd wordt door Struts. Dit is toch de verantwoordelijkheid van Struts?
Als ik de array hard initialiseer bij declaratie op 100, dan gaat het uiteraard wel goed; maar dit wil je niet echt in je code hebben zitten
Iemand een idee hoe ik dit kan oplossen?