[RESOLVIDO] JSF 1.1 Criar conversor  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
rogeriosantos77
Java Ninja
[Avatar]

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
[WWW] [MSN]
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

rogeriosantos77
Java Ninja
[Avatar]

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
[WWW] [MSN]
rogeriosantos77
Java Ninja
[Avatar]

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
[WWW] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team