Tenho uma aplicação java com VRaptor 3.5 funcionando. Possuo um formulário com campos do referentes a um objeto e neste mesmo formulário tenho que acrescentar dados de outro objeto.
Exemplo:
Formulário com dados do Advogado e dados de Estagiário. Só que preciso que os campos de dados de Estagiario seja criado dinamicamente, pois 1 Advogado pode ter mais de um Estagiário.
Se para Estagiario eu tenho só 1 campo (nomes[]
), estou conseguindo salvar os dados no banco… agora não sei fazer pra salvar 2 campos.
Quero dois imputs:
Nome:
<input type="text" class="form-control" id="nome" name="nomes[]">
Nome:<input type="text" class="form-control" id="carteira" name="carteiras[]">
Terei que acrescentar um novo parametro no meu método com nome de List carteiras ?
Se sim, se amanhã eu tiver que aumentar pra 5 campos, esse método vai ter que ter esses 5 parametros… 1 pra cada input?
Teria uma forma melhor de trabalhar com isso?
@Post
public void adiciona(Advogado advogado, Estagiario estagiario, List<String> nomes) throws ParseException {
this.daoFactory.getAdvogadoDao().salva(advogado);
} catch (Exception ex) {
System.out.println(ex);
}
List<Estagiario> estagiarios= new ArrayList<>();
if (nomes != null) {
for (String uf : nomes) {
Estagiario est= new Estagiario();
Est.setNome(uf.toString());
est.setAdvogado(advogado);
estagiarios.add(est);
}
for (Estagiario a : estagiarios) {
try {
this.daoFactory.getEstagiarioDao().salva(a);
} catch (Exception ex) {
System.out.println(ex);
}
}
}
result.redirectTo(this).lista();
}