Dúvida Struts 1 - Internacionalização  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
victorcosta
JavaGuru
[Avatar]

Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline

Pessoal tô com umas dúvidas no Struts 1

A primeira é que criei o arquivo MessageResources.properties e MessageResources_pt_BR.properties. Até ai tudo bem, se o cara entrar com um browser em português ele utiliza o MessageResource_pt_BR. Minha dúvida é o seguinte
Eu gostaria que no site a pessoa pudesse escolher qual a lingua q gostaria de visualizar, se ele clicasse em inglês então mesmo que o browser dele fosse português o site iria ser mostrado em inglês. Como faço isso no Struts?


A segunda é que a pouco tempo atrás estava escrevendo um fórum só pra aprender struts mesmo. Nesse fórum o cara podia postar mesmo não estando logado. Então se ele postasse não logado iria aparecer "Visitante" na mensagem.
Pra fazer isso eu tinha q escrever na jsp



Pra não ter q ficar repetindo esse código e deixar a jsp feia fiz um método getAuthor no meu POJO post q fazia isso. Ele retornava uma string contendo o nome do usuário se não fosse null, ou uma string "<bean:message key="post.guest" />" se fosse null

O problema é q não aparecia nada em <bean:message key="post.guest" />, e se vc fosse olhasse o código da página pelo browser, estava ali
essa string impressa, me parece q o programa não interpretava essa string como uma tag do struts, simplesmente imprimia ela

Como resolver esse problema? E Se não der pra resolver oq eu deveria fazer? Ficar escrevendo esses if na jsp não me parece muito elegante


Minha última dúvida é dada uma string chave encontrar a mensagem correspondente no MessageResources.properties para essa chave, dentro de uma action no Struts

Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/

Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/
[MSN]
lmprates
JavaChild
[Avatar]

Membro desde: 18/08/2006 11:43:29
Mensagens: 127
Localização: Porto Alegre - RS
Offline

victorcosta,

A sua primeira dúvida é simples, basta criar o MessagesResources_en.properties.
Depois você pode criar um action que muda a localização e a língua conseguentemente.

Dentro do Execute da sua action coloque o seguinte código:


e você pode chamar sua action assim:


Após o usuário clicar em no link, o struts automaticamente vai buscar o arquivo em inglês e mostrar as mensagens em inglês.


------
Leonardo Prates
Bacharel em Sistemas de Informação
Sun Certified Java Associate
[MSN]
lmprates
JavaChild
[Avatar]

Membro desde: 18/08/2006 11:43:29
Mensagens: 127
Localização: Porto Alegre - RS
Offline

quanto à sua segunda dúvida, você colocou a referência do taglib no topo da página?

------
Leonardo Prates
Bacharel em Sistemas de Informação
Sun Certified Java Associate
[MSN]
victorcosta
JavaGuru
[Avatar]

Membro desde: 07/01/2007 01:29:37
Mensagens: 220
Localização: Recife - PE
Offline

Valew lmprates, tava me esquecendo de olhar os métodos herdados de Action... isso resolve também o segundo problema, basta agora executar o getResources na Action e por o o valor da chave 'post.guest' no meu pojo q vou mostrar na tela. Dá mais trabalho mas meu objetivo era mais limpar a JSP mesmo

Ah e sim, eu tava incluindo as taglibs, o problema acho q era pq ele pegava o valor <bean:message key="post.guest" /> através de uma EL, vai ver o struts só roda as tags q tão na jsp e não as pegas de um EL

Meu blog com tutoriais de jQuery
http://www.victorcisneiros.com/blog/

Outros projetos
http://www.todolistr.com
http://www.bibliasocial.com
http://www.dota2feedback.com/
http://www.posjogo.com.br/
[MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team