Galera, a lista PhoneInfos do código abaixo chega null mas a otherSponsors chega instanciada.
O que estou fazendo de errado?
Já observei o request pelo browser e os parametros vão direitinho.
Se alguém souber como se ver o request pelo vraptor no lado do servidor, talvez já ajude.
Meu JSP
<td>
<input type="text" name="student.otherSponsors[0].name" value="${student.otherSponsors[0].name}" style="width: 90%" />
</td>
<td>
<input type="text" name="sponsor.otherSponsors[0].phoneInfos[0].ddd" style="width: 35px" mask="(99)" maxlength="2" value="${sponsor.otherSponsors[0].phoneInfos[0].ddd}" />
<input type="text" name="sponsor.otherSponsors[0].phoneInfos[0].number" mask="9999-9999" value="${sponsor.otherSponsors[0].phoneInfos[0].number}" style="width: 25%; "/>
Local:
<input type="text" name="sponsor.otherSponsors[0].phoneInfos[0].location" watermark="Escritório" value="${sponsor.otherSponsors[0].phoneInfos[0].location}" style="width: 40%; "/>
</td>
<td>
<input type="text" name="student.otherSponsors[1].email" value="${student.otherSponsors[1].email}" style="width: 90%" />
</td>
Meu Controller
public void save(Student student) {
Student studentToUpdate = null;
studentToUpdate = business.find(student.getId());
if (studentToUpdate == null){
studentToUpdate = new Student();
}
studentToUpdate.setRegistrationNumber(student.getRegistrationNumber());
studentToUpdate.setName( student.getName());
studentToUpdate.setGrade(student.getGrade());
studentToUpdate.setTurn(student.getTurn());
studentToUpdate.setGender(student.getGender());
studentToUpdate.setBirthday(student.getBirthday());
studentToUpdate.setNacionality(student.getNacionality());
studentToUpdate.setCitizenship(student.getCitizenship());
studentToUpdate.setAddress(student.getAddress());
[color=red]studentToUpdate.setOtherSponsors(student.getOtherSponsors());[/color]
[color=red]student.getOtherSponsors().getPhoneInfos()[/color] // == NULL
Sponsor firstSponsor = businessSponsor.find(student.getFirstSponsor().getId());
Sponsor secondSponsor = businessSponsor.find(student.getSecondSponsor().getId());
studentToUpdate.setFirstSponsor(firstSponsor);
studentToUpdate.setSecondSponsor(secondSponsor);
business.save(studentToUpdate);
result.redirectTo(this).index();
}
