Adobe flex - tire suas dúvidas.  XML
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Autor Mensagem
rafaelk
Debugger
[Avatar]

Membro desde: 09/01/2009 08:16:29
Mensagens: 63
Offline

Olá amigo, acho que não estou entendendo o seguiente:
Imagine que eu declare uma variável do tipo pessoa
private var pessoaessoa = new Pessoa();// ou recebendo de um remote object.
Ok, o problema é que no meu form eu tenho algo do gênero:
<mx:TextInput text="{pessoa.nome}"/>
Pois bem, quando eu chamo uma função, por exemplo "salvar" através de um botão, por mais que eu preencha o form, os atributos do objeto pessoa estão nulos. Não sei se estou fazendo algo errado, ou se teria que usar <mx:object > que vi em alguns exemplos... qual é a melhor forma ?

Obrigado
Kloss
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

O Binding no Flex é unidirecional. No Flex 4 vc já pode fazer ele bidirecional colocando um @ não me lembro onde, só ler a documentação. Caso esteja no Flex 3, vc teria basicamente duas opções:
Usar o creationComplete do componente desejado para fazer o binding view-> dominio usando o BindingUtils (Não use o Binding via XML, já via vários paus pra quem usa que não vou comentar aqui por brevidade).
A outra opção é vc no evento clique de seu botão salvar popular todo seu objeto na mão.
Em relação a essa última, na minha empresa eu e um amigo fizemos um framework para preencher campos de formulários automaticamente usando a convençao nome do atributo id do componente. Ficou bem legal, parecido com o SwingBean, com os métodos populateView(domínio) e getDomainObject().

This message was edited 1 time. Last update was at 20/02/2010 12:25:52


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

1. Você tem uma no Flex espelhando a sua entidade do Java?
2. Você carrega o objeto depois de salvar? (uma maneira seria ao salvar no seu dao o return do método ser o tipo do objeto, e no resultSave você preenche seu objeto com o novo)

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Hum, eu tinha entendido que o objeto nulo era no próprio Flex, vamos esperar ele se pronunciar...

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Há algum tempo houve a pergunta se havia alguma empresa trabalhando com Flex com mais de 10 pessoas. Bem, minha empresa, a P2D, está trabalhando com 15 pessoas em um sistema Air (versão desktop do Flex) para a área de saúde.

[]s

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

renzonuccitelli wrote: Hum, eu tinha entendido que o objeto nulo era no próprio Flex, vamos esperar ele se pronunciar...


Sim, ele falou que era no Flex.. eu que não fiz a pergunta da maneira correta :S
Se o problema é no Flex logicamente ele tem uma espelhando

O intuito da pergunta era porque se você no java tiver a variavel com o nome pessoa e no Flex pes, logicamente não vai achar porque são nomes diferentes, assim como a questão de maiusculas e minuscula os nomes devem ser estritamente iguais. (acho que é isso, porque isso confunde as vezes, mas é uma das possibilidades de estar vindo nulo)

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

RafaelViana wrote:
renzonuccitelli wrote: Hum, eu tinha entendido que o objeto nulo era no próprio Flex, vamos esperar ele se pronunciar...


Sim, ele falou que era no Flex.. eu que não fiz a pergunta da maneira correta :S
Se o problema é no Flex logicamente ele tem uma espelhando

O intuito da pergunta era porque se você no java tiver a variavel com o nome pessoa e no Flex pes, logicamente não vai achar porque são nomes diferentes, assim como a questão de maiusculas e minuscula os nomes devem ser estritamente iguais. (acho que é isso, porque isso confunde as vezes, mas é uma das possibilidades de estar vindo nulo)


Como ele falou que o objeto ficava nulo mesmo após ele preencher o formulário, achei que ele estava apenas não conseguindo popular o objeto a partir da view.

Outra coisa tb que queria dar uma opinião, a 2 meses atrás fiz um curso de Flex Avançado na Eng em SP. Apesar de já ter visto muito coisa do que eles falaram (já estava trabalhando com Flex há 5 meses na empresa) achei bacana pra ver alguns detalhes, e com certeza seria um excelente curso para iniciantes.

Para mim, para quem programa em Java, os principais pontos a serem estudades com profundidade é o esquema de Eventos e Binding de Flex. Com relação ao primeiro, mesmo durante o curso, no qual o professor era muito bom, percebi que nem mesmo ele compreendeu direito o sistema de lançamento de eventos. Demorei um pouco para entender, depois de passar uns perrengues e usar gambiarras como Aplication.aplication para lançar e receber eventos.

[]s

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
rafaelk
Debugger
[Avatar]

Membro desde: 09/01/2009 08:16:29
Mensagens: 63
Offline

Hum, eu tinha entendido que o objeto nulo era no próprio Flex, vamos esperar ele se pronunciar...

Sim, o a referência do objeto actionscript que tem os valores nulos, e tenho um "espelho" para cada objeto java. Mas já estou entendendo que vou ter que "bindar" na mão os objetos neste caso ou então utilizar algum tipo de framework / componente como citado. Aliás , aproveitando alguém conhece algum open source ?
pcassiano
Virtual Machine Man

Membro desde: 07/06/2005 16:17:56
Mensagens: 730
Offline

AUser wrote:

É possível sim rodar o Java / AIR na estação sozinha. Eu faço isso em uma aplicação minha (mas é com C#).

Dê um olhada em implementar xmlSocket usando o AIR. É a saída mais elegante.

Outra coisa: esqueça acesso à BD com Flex / AIR. Use o Java, nesse caso.



deixe eu ver se entendi: dá para criar, por exemplo, um sistema ecf 'com a cara do air', mas com o java 'por trás' (ui!) cuidando da comunicação com a impressora e persistindo os dados no bd?
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Persistindo os dados no banco de dados com certeza! Tanto Java, Hibernate, Spring, ... Fica igual a qualquer outra aplicação web que utilize Java.A comunicação com a impressora teoricamente acho que da (Porque voce pode fazer tudo no Java, e apenas enviar os parametros do Flex), agora não sei maiores detalhes, nem posso te garantir porque nunca fiz algo semelhante.

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
pcassiano
Virtual Machine Man

Membro desde: 07/06/2005 16:17:56
Mensagens: 730
Offline

valeu pela resposta, mas eu preciso ter (digamos uma) certeza que dá para aproveitar tanto a 'beleza' do air quanto a 'funcionalidade' - especialmente no trato com impressoras fiscais - do java... será que dá?
AUser
GUJ Master
[Avatar]

Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline

Sim, funciona. Pode ir fundo, você vai ter que usar comunicação por Sockets. Mas funciona tranquilo.
pcassiano
Virtual Machine Man

Membro desde: 07/06/2005 16:17:56
Mensagens: 730
Offline

AUser wrote:Sim, funciona. Pode ir fundo, você vai ter que usar comunicação por Sockets. Mas funciona tranquilo.


(me belisca, devo estar dormindo!) então poderemos criar a próxima geração de PDV's 'com a cara do air'? #sonhomeu
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Um dos problemas do Adobe AIR é que não conecta-se nativamente a USB, porta serial, ...
Mas usando o Java como back-end tem como:

Porém, como pode ver não é algo tão comum assim:

http://groups.google.com.br/group/flexdev/browse_thread/thread/35eddac2fe70f71/fe854331ba58110c?lnk=gst&q=Impressoras+fiscais+(ECF)+e+Leitores+Biom%C3%A9tricos#fe854331ba58110c


Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
AUser
GUJ Master
[Avatar]

Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline

Sim, podemos. Aqui ativamos um Scanner que scaneia as imagens, joga pro AIR, e tudo tem a cara do AIR. E não, não é dificil. Usar sockets é a melhor saída.
 
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team