Help Struts 1x

3 respostas
fabioebner

Amigos, e possivel eu enviar um List para o meu form??

tenho o seguinte:
public class ClienteForm extends ActionForm {
	private Integer cdCliente;
	private String nmCliente;
	private String nrIdRadioCliente;
	private String nrTelefoneCliente;
	private Set<TbEnderecoClienteForm> tbEnderecoClienteForm;
	
	.....

}

como faco para enviar o TbEnderecoClienteForm para essa minha ActionForm(meu jsp fica como)??

3 Respostas

rdmardegam

Amigo acredito que List não seja possivel.

Oq é possivel é enviar um array do seu objeto.

Ficando assim:

TbEnderecoClienteForm [] tbEnderecoClienteForm;

Na sua jsp, você terá varios inputs com o mesmo nome “tbEnderecoClienteForm”, quando você fizer o post, o struts ira popular este array conforme a quantidade de inputs que tenha este nome.

fabioebner

Entendi, porem essse TbEnderecoClienteForm seria um outro Bean nesse caso um outro form,

eu tenho
public class ClienteForm extends ActionForm {
	private Integer cdCliente;
	private String nmCliente;
	private String nrIdRadioCliente;
	private String nrTelefoneCliente;
	private TbEnderecoClienteForm[] tbEnderecoClienteForm;
...
e a outra
public class TbEnderecoClienteForm extends ActionForm {

	private Integer cdCliente;
	private Integer cdEnderecoCliente;
	private String dsReferenciaEnderecoCliente;
	private String nmComplementoEnderecoCliente;
	private String nmEnderecoCliente;
	private String nrCepCliente;
	private String nrEnderecoCliente;

entendeu??? a minha ideia e ter uma pagina jsp que a medida que o usuario clica para adicionar um novo endereco para esse cliente, eu via javascrip crio mais uma linha na minha tabela com os campos de cada endereco (endereco, cep, complemento, numero, etc) e no final qdo ele der cadastrar eu mando td isso para a minh action

entendeu??

vlw

rdmardegam

Deixe suas classes como estão.
Entao em sua action recupere da seguinte maneira seus atributos de endereço:

String [] cdClientesArray= request.getParameterValues("cdCliente");
String [] cdEnderecoClientesArray= request.getParameterValues("cdEnderecoCliente")
.
.
.

Agora percorra esses arrays e crie o objeto TbEnderecoClienteForm adicionando as informações e setando na colecao Set tbEnderecoClienteForm

Abraço

Criado 10 de junho de 2010
Ultima resposta 10 de jun. de 2010
Respostas 3
Participantes 2