[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3824: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3826: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3827: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3828: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
Next Framework • Ver Tópico - CRUD Mestre-Detalhe com somente um detalhe

CRUD Mestre-Detalhe com somente um detalhe

Não deixe de perguntar, solucione aqui suas dúvidas...

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor rogelgarcia » Seg Ago 01, 2011 10:21 pm

Esse tipo de erro é complicado.. mas o problema nao está nessa funçao.. geralmente tem alguma outra coisa errada na aplicacao...
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Ter Ago 02, 2011 10:54 am

É...pode ser.
Eu mexi em várias coisas, tais como, a posição da Ação (coloquei como primeira coluna ao invés da última), implementei a auditoria nos registros (quem incluiu, alterou e excluiu e em que datas) entre outras.
Assim que puder, vou fazer os testes começando do Next original.
jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Qua Ago 03, 2011 10:57 am

jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor rogelgarcia » Qua Ago 03, 2011 6:48 pm

É a teoria de sistemas JEE que você faltou a aula, que é o motivo de estar dando erro.. heheheheh

Não se pega nada que veio da requisição com request.getAttribute.. e sim request.getParameter

E os dados devem vir no objeto configurado, no método salvar..

Os dados de outras tabelas não estão na requisição.. estão no banco de dados.. e para pegar os dados do banco de dados.. vc tem que usar o DAO respectivo
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Qua Ago 03, 2011 7:42 pm

Hummm, justo essa aula rsrsss.
Eu usei o DAO das outras tabelas pra pegar os respectivos registros antes de inserir com o setAttribute, tanto é que apareceram na tela
Eu pensei que, como foram colocados com o setAttribute na ida eu pegaria na volta com o getAttribute.
Bom, o método salvar tem 2 parametros: o WebRequestContext request e o BEAN bean do crud.
Então, se eu entendi o que você disse, os dados das outras tabelas estão no primeiro parâmetro (request).
Assim sendo, eu devo pegar esses dados um a um como string e transforma-los nos respectivos tipos e inseri-los nos respectivos registros e gravar/regravar. É isso?
jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor rogelgarcia » Qui Ago 04, 2011 12:07 am

Se você deu setAttribute na entrada.. tem que passar de alguma forma.. os valores novamente para o servidor.. e pegar ou com request.getParameter, ou através do bean.. (o bean é recomendado)

No caso do bean terá que criar atributos transientes para guardar os valores (e colocar t:property respectivos para repassar os valores para o servidor)
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Qui Ago 04, 2011 9:53 am

Vamos ver se entendi.
No bean da tabela principal eu coloco os campos das outras tabelas como transientes. Eu copio para esses campos os seus equivalentes das respectivas tabelas. Aí eu nem preciso dar o setAttribute e no jsp eu uso esses campos.
Na volta (método salvar do CrudController), pego esses campos e copio de volta nas tabelas originais.
É isso?
Se for, existe algum recurso genérico no Next que faça essa cópia, do tipo copiaCampos(classeOrigem, classeDestino)? É difícil de fazer?
jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Qui Ago 04, 2011 12:23 pm

Acabei de descobrir que existe um método do BeanUtils (org.apache.commons.beanutils.BeanUtils) chamado copyProperties(objetoDestino, objetoOrigem) que copia campos de uma classe para outra.
Campos que existem na origem mas não no destino são ignorados.
jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor rogelgarcia » Qui Ago 04, 2011 11:44 pm

É por aí mesmo o que vc entendeu...

Mas acho que não precisará desse beanutils não.. mas teria que ver como é sua regra de negócio e os requisitos pra saber.. então fica dificil dizer se precisa ou nao..


Mas é por aí
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am

Re: CRUD Mestre-Detalhe com somente um detalhe

Mensagempor jtakata » Sex Ago 05, 2011 10:14 am

Se eu usar o BeansUtils vai ser por preguiça mesmo :)
Fiz alguns testes preliminares e parece que funcionou.
Se der algum problema, aí vou fazer um a um.

Muito obrigado e abraços.
jtakata
 
Mensagens: 350
Data de registro: Seg Abr 26, 2010 11:04 pm

AnteriorPróximo

Retornar para Dúvidas

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes

cron