Boa tarde,
estou montando uma tela que apresenta alguns labels que são determinados pelo arquivo de internacionalização.
E gostaria de saber se este label poderia ser uma variavel, da seguinte forma:
<h:outputTextvalue="#{bundle['texto']}"/>
onde ‘texto’ é o nome do atributo da i18n.
É possivel fazer algo do tipo:
<h:outputTextvalue="#{bundle['objeto.x']}"/>
onde ‘objeto.x’ é um objeto que foi trazido do banco?
Assim, no backbean, quando você recuperar x do banco, sete em label o valor internacionalizado.
Não tenho certeza de dessa maneira funciona.
<h:outputTextvalue="#{bundle['objeto.x']}"/>
R
Renato_natos
Peço desculpas por não ter sido claro.
Vou explicar melhor:
tenho um objeto chamado endereco com a seguinte estrutura:
EnderecointtipoEndereco;Stringendereco;
e para mostrar o resultado da consulta fiz assim:
<h:dataTablevalue="Aqui o managedBean"var="end">...
<h:outputTextvalue="#{end.endereco}"/>//nestalinhaimprimeaStringendereco;
...
//naoutracoluna...
<h:outputTextvalue="#{bundle[?]}"/>//qualvalorcolocoaqui?
...
</h:dataTable>
na variavel tipoEndereco que vem do objeto ela pode assumir dois valores, 01 ou 02, se for 01 preciso imprimir residencia, e se for 02, comercial.
Como faço isso?
marcos.junqueira
Renato,
tenho algo parecido com o seu, onde eu preciso mostrar o tipo do nivel de servico. Porem o valor de type é uma String proveniente de um enum.
Desse modo quando uso ns.type o valor retornado será uma string (“DIARIO”, “ONLINE”, “PERIODO”). Se essas keys estiverem no arquivo irá funcionar como desejado.
R
Renato_natos
Beleza, na sua situação já imprimi a String direto no meu caso precisaria fazer algo do tipo:
se tipoEndereco for igual a 01 imprimi ‘residencial’
se tipoEndereco for igual a 02 imprimi ‘comercial’
e estes valores ‘comercial’ e ‘residencial’ são trazidos do arquivo de i18n.
Eu acho que deveria ser um condicional no arquivo de i18n, o que vc acha?
marcos.junqueira
Renato,
eu não usaria 01 e 02 para representar o tipo, pelo que percebi parece que você está usando assim pois deve ter uma tabela onde pode cadastrar os tipos. Estou certo?
Se algum dia alguém mudar esses códigos sua aplicação estaria comprometida…
Eu recomendaria o uso de constraints, R para residencial, C para comercial e assim por diante. É claro que você precisará fazer uma análise para ver se poderão existir ouros tipos.
Espero ter ajudado.
R
Renato_natos
Marcos,
Valeu cara, ajudou com certeza, vou estudar isto que vc comentou…
Até mais!