[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 - Utilização do n:forEachBean

Utilização do n:forEachBean

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

Utilização do n:forEachBean

Mensagempor fernandomorais » Seg Jul 02, 2012 5:06 pm

fernandomorais
 
Mensagens: 23
Data de registro: Ter Jan 24, 2012 10:33 pm

Re: Utilização do n:forEachBean

Mensagempor rogelgarcia » Qui Jul 05, 2012 7:06 pm

Olá fernando, tudo bom?

Antes de avaliar o que pode ter acontecido, vou dar uma pequena explicação de como o next transforma os dados que vem da requisição.

Basicamente cada parâmetro da requisição é mapeado a uma propriedade do filtro. O mapeamento é feito através do nome. Se chega um parâmetro no seguinte formato data=10/10/2012 e o atributo data do filtro é Date, o next utiliza um formatador para converter a String para Date, e faz o bind.

Para tipos de dados de entidade o next precisa do nome da classe e do valor do id. Suponha que exista uma classe Funcionario e exista um combo para uma propriedade desse tipo. O valor da requisição será funcionario=com.pacote.Funcionario[id=1] onde com.pacote.Funcionario é a classe e id=1 é uma propriedade do objeto. Esse é o segredo do next que facilita enormemente a utilização de combos na aplicação.

Sempre quando o next se depara com um parametro do request no formato xxxx.xxxx.xxxx[xxxx=xxx] ele entende que é uma entidade (como a Funcionario) e faz a conversão antes de repassar para a classe que faz o bind.

Quem faz a tradução de xxx.xxx.xxx[xxx=xxx] para um objeto com valores é o método translateObjectValue, que é o que está dando o erro. Possivelmente foi encontrado um valor com o seguinte formato xxx.xxx.xxx[]. Eu coloquei essa exceção na ultima versão. Ela não existia anteriormente, porém foram feitos vários testes e nenhum deles acusou esse erro erroniamente. Sem essa exceção poderia ser feito um mapeamento incompleto e nenhum erro seria acusado, o que dificultaria o diagnóstico.

Para ver o que pode estar acontecendo sugiro verificar o valor de cada input colocado no HTML. E também, colocar um breakpoint no lugar onde a exceção está ocorrendo para saber em qual parametro que veio do request isso está acontecendo.

Pode até ser que não esteja relacionado com o uso de c:foreachbean.

Após descobrir qual o parâmetro problemático, volte a postar aqui no fórum para descobrirmos a solução para o problema.
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am


Retornar para Dúvidas

Quem está online

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

cron