| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2010 10:10:26
|
rogeriosantos77
Java Ninja
![[Avatar]](/images/avatar/6f760a053c4fc2b0e7a369b42fd7f68c.jpg)
Membro desde: 30/07/2007 15:00:53
Mensagens: 281
Localização: Jerusalém
Offline
|
Pessoal eu quero criar um conversor para alterar o attributo title de um componente outputtext que esta dentro de um data list.
Eu até conseguir criar um classe handler que recebe parametros e invoca um conversor mas quando eu estou dentro de um dataList ou dataTable não funciona.
Um exemplo do que eu quero fazer
Pois bem : neste componente conversorA no title eu passaria uma key do messagebundle com a mensagem que aparecera no title, porém essa mensagem possui o seguinte valor : mensagem parte 1 nome {0}, parte 2 sexo {1} e parte 3 idade {2}, que eu passo atraves da key title_nome [b]"#{messageBundle.title_nome}".
Value seriam os valores que irao ser colocados noa parametros da mensagem {0}, {1}, {2}.
Pois bem criei uma classe de tag que deveria pegar o valor da EL #{item.><alguma coisa}, recuperar o valor dela e passar para um converter. O problema é que se passo uma expressão assim #{mbean.attributoDoBean} na classe TAG consigo pegar o valor referente a expressão. Exemplo se passar a expressão #{mbean.lista}" no codigo abaixo eu consigo obter toda a lista do dataList.
Porém se a expressão acima ao inves de ser do tipo #{mbean.lista}" ou qualquer tipo que seja managedBean.attributo e for #{item.nome}, é como se o JSF não conseguisse entender o que é o item, porem se eu usar a expressão "#{mbean.lista}" ele me traz toda a lista do dataList.
Alguem sabe como fazer para recuperar so a expressão referente aos dados de uma linha ou coluna de um dataList ou data table atraves da EL numa classe TAG.
Abaixo minha classe TAG
This message was edited 1 time. Last update was at 15/09/2010 16:00:21
|
Rogerio L Santos
@roglusa - Twitter |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2010 16:44:29
|
photografo1
Thread.start()
Membro desde: 02/08/2007 22:49:48
Mensagens: 31
Offline
|
Esqueça, isso é impossível fazer em qualquer versão do JSF.
Se você na sua classe TAG invocar ="#{mbean.lista}", com certeza ele acha pq o JSF conhece mBean, porem o atributo var = "item" , so existe naquele mundinho da randerização da lista. A Tag não tem como saber que item é um apaelido dado a uma linha de "#{mbean.lista}"
A solução seria vc colocar no value da tua tag #{mbean.lista(0).nome} ao invés de #{item.nome}, porem vc teria outro problema. Não há como identificar na tua classe tag o indice da linha que esta sendo enviada a tag para converter.
Ou seja, impossível.
This message was edited 1 time. Last update was at 10/09/2010 16:46:40
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/09/2010 16:20:24
|
rogeriosantos77
Java Ninja
![[Avatar]](/images/avatar/6f760a053c4fc2b0e7a369b42fd7f68c.jpg)
Membro desde: 30/07/2007 15:00:53
Mensagens: 281
Localização: Jerusalém
Offline
|
Meu, eu estou determinado a achar uma solução. Como componentes como o inputText conseguem entender o valor da variavel item ?
Eu acho que se eu conseguir pelo menos passar o valor o valor do indice da linha para a classe tag, ai eu consigo recuperar o valor do item de outra forma
Sera que da para recuperar o valor de rowIndex na classe tag ?
|
Rogerio L Santos
@roglusa - Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 16:00:47
|
rogeriosantos77
Java Ninja
![[Avatar]](/images/avatar/6f760a053c4fc2b0e7a369b42fd7f68c.jpg)
Membro desde: 30/07/2007 15:00:53
Mensagens: 281
Localização: Jerusalém
Offline
|
FIZ A BUSCA DO ITEM NO CONVERSOR E NÃO NA TAG.
|
Rogerio L Santos
@roglusa - Twitter |
|
|
 |
|
|