[RESOLVIDO] VRAPTOR 3 - Lista dentro de lista não chega no controller

2 respostas
gporpino

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

2 Respostas

Lucas_Cavalcanti

os inputs estão começando com sponsor, não deveria ser student?

gporpino

Pow brother, que vacílo.

Copy - Paste desde a criação do windows criando problemas :slight_smile:

Outra coisa, queria parabenizar vc brow, percebi que vc respondi muitos posts por aqui!!

Muito bom!!!

Falow!!!

Criado 5 de agosto de 2011
Ultima resposta 5 de ago. de 2011
Respostas 2
Participantes 2