Amigo, acho melhor você criar uma chamada AJAX para determinar quem é o AVATAR e outro AJAX para salvar/vincular as FOTOS do imóvel.
E o ideal é para cada AJAX ter uma URL específica e seus respectivos parâmetros. Isto facilitará seu entendimento…
Como você mesmo disse: O parâmetro Foto avatar, através da assinatura: public void salva(UploadedFile imagem, Imovel imovel, Foto foto, Foto avatar), esta vindo nulo e isto ocorre no momento em que o vRaptor injeta os valores para os parâmetros e como ele não encontrou, no teu JSP, uma referência correspondente para avatar, ele injeta nulo.
Então para facilitar, você poderá ter uma lógica para salvar a FOTO do imóvel, passando os parâmetros: IMÓVEL e FOTO.
E outra lógica para atribuir um AVATAR para o IMÓVEL, passando os parâmetros: IMÓVEL e AVATAR. Porém neste caso você deverá primeiro localizar o imóvel pelo seu ID em seguida atribuir o avatar ao seu atributo “fazer um setAvatar(avatar)” e ao final salvar o imóvel.
Obrigado Lucas, mas não deu boa.
Tentei dessa forma e inclusive com ${not empty avatar.id}, o comportamento é o mesmo, ou preenche td ou fica td vazio, a tabela Imovel possui um imovel com a id da foto na coluna.
Então se a coluna não estiver vazia, deveria dar um checked na foto certa e o resto deixar desmarcado né? Acho que o meu raciocinio está correto…
[quote=Leandro-SP]Oi pessoal…
Aproveitando o topico… alguém sabe como gero um formulario dinamico com o vraptor3… estava pensando em algo do tipo campos basicos como Nome, Endereço, Data de Nascimento, Sexo, e mais alguns serem fixos, e outros campos serem dinamicos no formulario. Como por exemplo buscar os campos dinamicamente no Mysql e gerar a tela de formulario. Estou querendo a cabeça aqui e não consigo. Apenas queria que facilitasse na hora de incluir mais um campo no formulario era só inserir mais uma linha numa tabela do mysql.
Alguem pode me ajudar?
Aguardo resposta.
Obrigado.
Leandro.[/quote]
Alguém pode me ajudar por favor? Acho melhor eu abrir outro topico?
[quote=Leandro-SP]Oi pessoal…
Aproveitando o topico… alguém sabe como gero um formulario dinamico com o vraptor3… estava pensando em algo do tipo campos basicos como Nome, Endereço, Data de Nascimento, Sexo, e mais alguns serem fixos, e outros campos serem dinamicos no formulario. Como por exemplo buscar os campos dinamicamente no Mysql e gerar a tela de formulario. Estou querendo a cabeça aqui e não consigo. Apenas queria que facilitasse na hora de incluir mais um campo no formulario era só inserir mais uma linha numa tabela do mysql.
Alguem pode me ajudar?
Aguardo resposta.
Obrigado.
Leandro.[/quote]
Alguém pode me ajudar por favor? Acho melhor eu abrir outro topico?
de qqer forma, não me parece algo muito fácil de manter ou entender o que tá acontecendo…
vc não tem um jeito melhor de fazer o que vc quer?[/quote]
Lucas Cavalcanti,
Não consegui pensar numa forma diferente de fazer isso.
Teria um formulário padrão com campos básicos e também poderia incluir algumas linhas numa tabela do Mysql e cada linha seria o nome de um novo campo novo no formulário. Vou tentar fazer desse jeito que você passou… mas será uma boa idéia essa? A idéia é poder incluir um novo campo num formulario facilmente…sem ter que mapear esse novo campo num DAO.
Ex.:
Nome
Endereço
Sexo
Data Nascimento
Telefone
E-mail
São os campos básicos. Que sempre existirão.
Aí incluiria uma linha numa tabela X com o texto: “Possui Carro?”.
E aí geraria um formulario do tipo:
Nome
Endereço
Sexo
Data Nascimento
Telefone
E-mail
Possui Carro? (aqui ainda teria que dar um jeito de colocar um Checkbox com SIM ou NÃO)
cara, até dá pra fazer isso, mas vai dar um trabalho bem grande…
vc vai precisar de uma classe pra representar um campo do formulário, com nome, label e tipo pelo menos
a partir disso vc vai gerar o input/select/textarea/checkbox necessário…
e como vc vai receber esses dados “dinamicos” no seu controller? não parece algo mto fácil nem bom de fazer… seus campos vão mudar tanto assim? tanto a ponto de vc não querer mudar o seu código da aplicação?
vale a pena perder um tempo grande com isso agora?
Beleza, agora já consigo marcar no radio button quem é o avatar, só falta criar a função ajax pra mandar o imovel e foto pro Controller e atualizar no banco quem é o avatar.
Abraço!!
Mas não acontece nada. =/
Assim que esse teste funcionar eu eu vou entender como funciona a requisição ajax e depois altero o Controller pra persistir os dados. Mas primeiro a bagaça têm que funcionar. =) A url está certa? É só o método que está no Controller?
se o nome do parametro é idImovel e ele é de um tipo primitivo (números, strings e datas), vc precisa mandar um parametro na requisição chamado idImovel:
O problema é que a função ajax não está funcionando, fiz um teste simples de alerta, sem usar o Controller, pegando apenas o que está na JSP.
var foto = $('input[name=avatar]:checked').val();
var imovel = "${imovel.idImovel}";
alert("O valor do radio button selecionado é: " + foto + " e o imóvel é: " + imovel);